1.alias别名
(1)查看、设置别名
Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长的命令设置一个别名,这样一来,以后只需输入一个简短的别名就可以达到同样的作用。
alias显看当前已定义的别名
使用aliasaliname='command [-x] [....]' 可以定义别名(中括号的意思是可加可不加)。
值得注意的是,不止别名=命令,还可以别名=命令+选项
例如,我们设置一个编辑网卡的配置文件别名,然后只需要输入别名,就可以进入了。
(2)删除别名
unalias aliname可以取消别名定义。
unalias-a取消所有别名
(3)查找命令顺序
现在我们使用type查看一下cp
我们发现它在alias中。就是说当我们执行一条命令时,首先去别名中找。
因此应该刷新顺序为:alias > 内部命令> hash > PATH > command not find
(4)永久有效方法
如果只是按照上面的修改,退出后就失效了。如果想永久有效,要定义在配置文件中。
如果想仅对当前用户有效,使用nano修改~/.bashrc中的内容。
~ 表示用户的家目录,root用户的家目录在/root下。
将命令加入文件中保存即可。
如果想对所有用户有效,则修改/etc/bashrc 文件。
将命令加入文件中保存即可。
PS:这个修改需要在下次登录时才生效,如果想立即生效,可以使用source .bashrc强制当前就读取。
(5)执行命令时不受别名影响
共有三种方式:\command
'command'
/path/command 路径
2.命令格式
(1)短选项
例如-l,-a,
ls命令表示列出当前目录内容, ls -l表示显示文件详细信息,ls -a表示显示所有文件包括隐藏文件(以.开头的文件即为隐藏文件)。
那么,如果我们想要显示所有包括隐藏文件的详细信息呢?
我们就可以把两个短选项结合起来:ls -a -l 或 ls -l -a 或 ls -al 或 ls -la 都可以。
(2)长选项
例如--help。
长选项需要打两个-。因为有些选项自身由多个字母组成,因此需要输入两个-表示长选项。(否则如果只输入一个-就会被当成-h -e -l -p 来执行了)
3.命令终止
当一个命令正在执行而用户想终止,则使用终止命令。
ctrl+d 正常终止命令
ctrl+c 强制终止命令
4.命令间隔
多个命令可以用;符号间隔开来,将会依次执行。当前一个命令执行结束,执行后一条命令。
PS:它并不会判断前一条命令是否执行成功或失败
如果希望判断是否执行成功,则需要使用判断语句。
每一条基本命令执行后都有一个返回码,该返回码是用$?表示,执行成功的返回码是0,例如:
if [ $? -ne 0 ];then
上一命令执行失败时的操作
else
上一命令执行成功时的操作
fi
例如linux中启动JBoss判断是否启动成功
service IMX_JBossAS start
if [$? -ne 0 ];then
echo "失败"
else
echo "成功"
fi
5.命令分行
一个命令可以用\分成多行。输入完\敲一下回车,就可以在第二行继续打了。
6.时间
(1)查询时间:
date
+%F 年月日
+%T 时分秒
+%Y 年
+%m 月
+%d 日
+%H 时
+%M 分
+%S 秒
+%w 星期(数字)
+%a 星期(英文)
(2)修改时间
一共有两种方式:dateMMDDHHmmYYYY[.SS]
date -s'yyyy-mm-dd hh:mm:ss'(有些所有版本不一定支持这种修改方式)
(3)硬件时间与软件时间
hwclock 查示硬件时间(BIOS时间)
hwclock -s 将硬件时间写入软件时间(系统时间)
hwclock -w 将软件时间写入硬件时间
ps:clock =hwclock
7.时区
centos6与centos7命令有些不同。
centos6:
ln -f /usr/share/zoneinfo/America/New_York /etc/localtime修改成美国时区
ln -f/usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改成中国时区
Centos7
timedatectl 查看当前时区
timedatectllist-timezone 查看所有的时区
timedatectlset-timezone America/New_York 修改成美国时区
timedatectl set-timezoneAsia/Shanghai修改成中国时区
8.日历
cal显示当月日历
cal yyyy显示指定年的日历
cal -y 显示当年的日历
cal -3 显示上个月当月下个月的日历(我思考过如果是cal-2到底会显示上月本月日历还是上月下月日历,结果打的时候并没有这个命令—_—!)
cal -1 同cal 显示当月日历
cal mm yyyy 显示指定年,月的日历
9.关机与重启
halt & poweroff关机(centos7不能使用halt,只能使用poweroff)
reboot 重启
reboot -f 强制重启(比较暴力,不建议使用)
reboot -p切断电源
shutdown
shutdown -r 重启
shutdown -h 关机
shutdown +0 直接关机
shutdown +xx xx分钟后关机
shutdown hh:mm 指定时间关机
shutdown -c取消关机(需要在另一个终端执行)
10.screen命令
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
使用前需要先手动安装,在光盘下screen文件,点击安装。
screen 进入screen 名字以当前终端名.主机名前缀
screen -Sscreenname 指定screen作业的名称
screen -ls 或 --list查看当前所有的screen
screen -rscreenname 进入一个screen。
ctrl+d 或 exit退出当前screen(会话)。
11.echo
echo本身是输入什么就输出什么,下面有一些扩展功能:
-n 不换行
-E(默认)不启用解释功能\
-e 启用解释功能\
\a 报警
\b 退格
\c 不换行
\n 换行,从行首输入
\r 移动行首但不换行
\t 输入tab
\\ 输入一个\
(PS:记得要打引号)
12.其他命令用法
(1)$的用法
$变量名 引用变量的值
$()或` `(反引号,在键盘上~的下面) 引用命令执行的结果
$[]运算
${变量名} 或"$变量名"当变量名的起止不分明时,用来划定变量名的范围,同时引用变量。
(2){}的用法
{a..z} 表示引用指定范围的字母
{1..9999}表示引用指定范围的数字
{1,3,5} 表示分别引用每一个字符
(3)TAB的用法
TAB用来补齐
\2TAB 把根下的所有文件列出
~2TAB 家目录下的所有文件列出
.2TAB 当前目录下的所有文件列出,包含隐藏文件
*2TAB 当前目录下的所有文件列出,不包含隐藏文件
$2TAB 显示当前所有的环境变量。