1.显示当前使用的shell : echo ${SHELL}
例:[root@localhost ~]# echo $SHELL
/bin/bash
2.显示当前系统使用的所有shell: cat /etc/shells
例:[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
3.启用内部命令: enable cmd
例:[root@localhost ~]# enable pwd
禁用内部命令: enable -n cmd
例:[root@localhost ~]# enable -n pwd
查看所有禁用的内部命令:enable -n
例:[root@localhost ~]# enable -n
enable -n echo
enable -n pwd
4.查看路径: which -a | --skip-alias ; whereis
例:[root@localhost ~]# whereis bash
bash: /bin/bash /usr/share/man/man1/bash.1.gz
6.区分命令是内部命令还是外部命令:type
例:[root@localhost ~]# type rm
rm is aliased to `rm -i'
[root@localhost ~]# type echo
echo is a shell builtin
7.外部命令缓存表:hash
hash 显示hash缓存
hash -l 显示hash缓存,可作为输出使用
hash -p path name 将命令全路径path起别名为name
hash -t name 打印缓存中name的路径
hash -d name 清除name缓存
hash -r 清除缓存
8.命令别名
显示当前shell进程所有可用的命令别名:alias
例:[root@localhost /]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
9.定义别名NAME,其相当于执行命令VALUE
alias NAME=’VALUE’
例:[root@localhost /]# alias c='cd /etc/'
[root@localhost etc]# c
撤销别名: unalas
unalias [-a] name [name...]
-a 取消所有别名
10.日期和时间
显示和设置系统时间 date
例:[root@localhost etc]# date
Fri Jul 27 22:30:04 CST 2018
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
%c 日期和时间
11.hwclock ,clock:显示硬件时钟
例:[root@localhost etc]# hwclock
Sat 28 Jul 2018 12:41:02 AM CST -1.017374 seconds
root@localhost etc]# clock
Sat 28 Jul 2018 12:41:07 AM CST -0.875766 seconds
-s, --hctosys 以硬件时钟为准,校正系统时钟
-w, --systohc 以系统始终为准,校正硬件时钟
显示日历:cal -y
12. 关机:half , poweroff , init0
重启:reboot , init6
-f:强制,不调用shutdown
-p:切断电源
关机或重启:shutdown
Shutdown [OPTION]... TIME [MESSAGE]
-r: reboot
-h:halt
-c:cancel
TIME:无指定,默认相当于+1
now: 立刻,相当于+0
+m: 相对时间表示法,几分钟之后;例如 +3
hh:mm:绝对时间表示,指明具体时间
13.显示当前登录的有效用户:whoami
例:[root@localhost etc]# whoami
root
14.系统当前所有的登录会话:who
w:系统当前所有的登陆会话及所做的操作
例:[root@localhost etc]# who -w
root + tty1 2018-07-27 13:12
root + pts/0 2018-07-27 21:11 (192.168.180.1)
root + pts/1 2018-07-27 21:58 (192.168.180.1)
15.回显功能:echo
语法: echo [-neE][字符串]
-e 激活转义字符
例:[root@localhost etc]# echo -e 'hello\tword'
hello word
16.括号扩展: {}
{a,b}{c,d} -> ac ad bc bd
17命令行历史: hitory
例:[root@localhost etc]# history
1 ifconfig
-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件中;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中。
18.帮助命令:help 与 man
语法help(选项)(参数)
man(选项)(参数)
19.显示当前工作目录:pwd
例:[root@localhost yum]# pwd
/etc/yum
-p 显示真实物理路径
-L显示链接路径(默认)
20.改变目录 cd
例:[root@localhost yum]# cd /etc/
[root@localhost etc]#
切换至父目录: cd ..
切换至当前用户主目录: cd
切换至以前的工作目录: cd -
21.列出目录内容:ls
用法:ls [options] [files_or_dirs]
-a包含隐藏文件
-l 显示额外的信息
-R目录递归通过
-id目录和符号链接信息
-1 文件分行显示
-s 按从大到小排序
-t 按mtime排序
-u 配合-t选项,显示并按atime从新到旧排序
-U 按目录存放顺序显示
-X 按文件后缀排序
例:[root@localhost /]# ls
bin etc lib64 misc opt sbin sys var
22.查看文件状态,三个时间戳:stat
例:[root@localhost etc]# stat passwd
Access: 2018-07-27 14:06:51.178250316 +0800
Modify: 2018-07-27 14:05:33.695243595 +0800
Change: 2018-07-27 14:05:33.696243597 +0800
access time:访问时间,atime,读取文件内容
modify time:修改时间,mtime,改变文件内容(数据)
change time:改变时间,ctime,元数据发生改变
23.touch命令:
Touch [OPTION]... FILE...
-a 仅改变atime和ctime
-m 仅改变mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建
24.复制文件和目录:cp
-i :覆盖前提示
-n :不覆盖
-r,R:递归复制目录及内部的所有内容
-a:归档,相当于-dR --preserv=all
-d:--no-dereference --preserv=liks不复制源文件,只复制链接名
--preserv[=ATTR_LIST]
例:[root@localhost /]# cp -r /etc/passwd /home
[root@localhost /]# ls /home/
passwd python test user6 zhang
25.移动和重命名文件:mv
常用选项:
-i:交互式
-f:强制
例:[root@localhost /]# mv /home/passwd /home/pw
[root@localhost /]# ls /home
pw python test user6 zhang
26.删除:rm
常用选项:
-i:交互式
-f:强制删除
-r:递归
例:[root@localhost /]# rm /home/pw
rm: remove regular file `/home/pw'? y
27.显示目录树:tree
-d:只显示目录
-L level 指定显示的层级数目
-P pattern:只显示由指定pattern匹配的路径
例:[root@localhost /]# tree -L 1 /etc
/etc
├── abrt
├── acpi
├── adjtime
28.创建目录:mkdir
-p:存在于不报错,但可自动创建所需的各目录
-v:显示详细信息
-m MODE:创建目录时直接指定权限
例:[root@localhost ~]# mkdir -pv ./a/b/c
mkdir: created directory `./a'
mkdir: created directory `./a/b'
mkdir: created directory `./a/b/c'
29.删除空目录:rmdir
-p:递归删除父空目录
-v:显示详细信息
例:[root@localhost ~]# rmdir -pv ./a/b/c
rmdir: removing directory, `./a/b/c'
rmdir: removing directory, `./a/b'
rmdir: removing directory, `./a'
rmdir: removing directory, `.'
rm -r 递归删除目录树
30.硬链接:不同的文件路径指向同一个inode
ln filename [linkname]
例:[root@localhost ~]# ln abc.txt ./test
31.软连接:链接路径不是指向inode,而是指向原始路径(字符串)
ln -s filename [linkname]