shell的命令格式:command [options] [arguments] ---------------------命令的名称 选项 参数
一:系统管理与维护
1 显示指定工作目录下的内容 ls
ls [选项] [路径或文件]
实例:列出/home目录下文件及其子目录
ls -l /home
2.显示当前工作目录 pwd
3.改变当前工作目录 cd
实例:切换到/usr/bin 目录下:cd /usr/bin
4.显示或修改系统时间与日期的命令 date
date [选项] 显示时间格式 (以+开头,后面接时间格式)
-s --set:设置系统时间 -d--date :显示描述的日期
实例:修改系统时间
data -s 20121221
data -s 17:25 或者 data -s "20122121 17:25"
显示两天前的时间
data -d "2 days ago" +%Y -%m_%d
5:设置用户口令 passwd
passwd [用户名]
根据提示连续两次输入 口令即可
6:改变身份的命令 su
su [选项] [用户名]
实例:普通用户变成超级用户
su - 根据系统提示输入超级用户口令即可变成超级用户
更改超级用户口令:su-c passwd
7:清除屏幕信息 clear
8:显示指定命令的帮助信息 man
man [命令名称]
man ls
9:显示目前登录到系统的用户的命令 who
who [选项] [file]
实例:显示系统最近启动日期,以及当前每个用户的登录详情,终端状态
who -buT
系统处于什么运行级别
who -r
10:显示登录到系统的用户信息的命令 w
11:显示操作相关信息的命令 uname
uname [选项]
实例:显示当前操作系统信息
uname -a
12:输出系统任务队列信息的命令 uptime
uptime 输出当前系统时间,系统开机 到现在的运行时间,目前有多少用户在线和系统平均负载等
13:列出目前与过去登入系统的用户相关信息 last
last [选项] [-n 显示列数]
14:显示开关信息 dmesg
15:显示系统内存状态的命令 free
free [选项] [-s (间隔秒数)]
实例:列出当前内存的使用状况,以MB的形式显示
free -m
16:显示系统进程瞬间的运行动态 ps
实例 :查看系统所有进程
ps -ef
17:实时监控系统处理器状 top
二:文件管理与编辑
1.创建目录 mkdir
mkdir [选项] 目录名
实例:在/home 下创建新user1目录 ,同时在user1 下创建user2目录 ,也就是连续创建两个个目录
mkdir -p /home/user1/user2
2:逐屏显示内容 more
more [选项] 文件名
显示文件test的内容,每10行显示一屏,同时清除屏幕
more -c -10 test
3 将文件的崆打印到标准输出的命令cat
cat [选项] 文件名
或 cat 文件1 文件2 > 文件3
实例
查看test文件内容,同时将文件中tab的输出显示为“^I”,并对非空行进行编号输出
cat _Ab test
将文件test1.txt,test2.txt的内容合并后输出到文件test3.txt
cat test1.txt test2.txt >test3.txt
4:比较文件的差异 diff
diff [选项] 文件1 文件2
5过滤文本的命令grep
grep [选项] 需要查找 的字符串 文件名
实例:
列出test.txt 文件中含有moeny字符串的行
grep money test.txt
列出test.txt文件中含有moeny 字符串的行,忽略大小写,并标出每行行号
gep -ni moeny test.txt
6 删除某个目录及其所有文件及子目录 rm
rm [选项] 文件或者目录
7改变指定文件的访问时间和修改时间 touch
touch [选项] 设定的时间 文件
8 在文件与目录之间创建链接的命令 ln
ln [选项] 源文件 目标链接名
9:显示文件类型 file
file [选项] 文件名
10 拷贝文件或目录 cp
cp[选项] 源文件或目录 目标文件或目录
实例 将当前目录下的所有文件复制到/temp目录下 “./*” 表示当前目录下所有文件和目录
cp -r ./* /temp
11在指定的路径下查找指定文件 find
find path-name [-options] [-print -exec -ok 命令{} \;]
实例;
(1)在系统根目录下,查找文件类型为变通文件,属于ixdba用户的,2天以前的,并且查找进时不包含/usr/bin 目录的文件名为main.c 的文件,并将结果输出到屏幕
find / -path "/usr/bin" -prune -o -name "main.c" -user ixdab -type f -mtime +2 -print
(2)对上述中搜索的结果进行删除操作
find / -path "/usr/bin" -prune -o -name "main.c" -user ixdab -type f -mtime +2 -print -exec rm {} \;
(3)在系统根目录下查找正在/var/log 和/usr/bin 目录下的所有变通文件
find / \( -path /var/log --o -path /usr/bin\ ) -prune -o -name "main.c" -print
(注意) “\( -path" 中,在”(" 和“-path” 之间有空格的,同时“\usr/bin \)”中在"bin"和“\"之间也是有空格的
(4)查找系统中所有大小为0的系统文件,并列出他们的完整路径
find / -type f -size 0 -exec ls -al {} \;
(5)在系统/var/logs目录中修改时间在7天以前的变通文件,然后交互方式删除
find /var/log -type f -mtime +7 -ok rm {} \;
(6) 在当前目录及子目录下查找所有”*.txt“的文件
find . -name "*.txt" -print
(7) 在用户自己的根目录下查找文件以一个大写字母开头,紧接着是一个小写字母和两个数字,最后以".txt" 结尾的文件
find ~ -name "[A-Z] [a-z] [0-9] [0-9] *.txt" -print
(8)在etc目录下查找文件属主为ixdba用户的文件
find /etc --usr ixdab -print
12 分割文件 split
split [选项] [input_file] [output_fine]
实例 :将test文件进行分割,设定每个分割的文件大小为10m
split -b 10m test testback
将/opt/etc.zip文件进行分割,指定每个分割文件大小为2m,输出文件序列以数字形式显示,序列长度为3
split -b 2m -d -a 3 /opt/etc.zip /opt/etc.zip_back
13 文件/目录改名或变更存储位置 mv
mv [选项] 源文件或目录 目标文件或目录
创建一个mydir目录和一个mydoc文件,然后将mydoc文件移动到mydir目录下,最后修改mydir目录为mydir1
mdir mydir
touch mydoc
mv mydoc mydir
mv mydir mydir1
三:压缩与解压
1 压缩/解压文件或目录的命令 zip/unzip
zip [选项] 压缩文件名 需要压缩的文档列表
unzip [选项] 压缩文件名
实例:(1)将/etc目录下的所有文件以及目录进行压缩,设置压缩级别为最高,保存到文件/opt/etc.zip
zip -9r /opt/etc.zip /etc
(2)将/var 目录中所有文件以及子目录压缩,除了”*.log“的文件,将压缩文件保存到/opt目录下
zip -r /opt/var.zip /var -x "*.log"
(3)将上面/opt/var.zip 中的etc/passwd文件从压缩包中删除
zip /opt/var.zip -d etc/passwd
(4)将/opt/etc.zip压缩文件全部解压到/etc目录下,除了/etc/inittab文件,并且在解压过程中如果出现相同的文件就直接覆盖,不要求用户确认
unzip -o /opt/etc.zip -x etc/inittab -d /etc
2将文件或者目录打包归档的命令 tar
tar [主选项+辅助选项] 文件或者目录
实例:
(1)将/etc 目录下的所有文件打包,并显示打包的详细文件,设置打包文件名为etc.tar 同时保存文件到/opt目录下
tar -cvf /opt /etc.tar /etc
(2)将/etc 目录下的所有文件打包并压缩,然后显示打包的详细文件,设置打包文件名为etc.tar 同时保存文件到/opt目录下
tar -zcvf /opt/etc.tar.gz /etc
或者 tar -jcvf /opt/etc.tar.bz2 /etc
(3)查阅上面/opt/etc.tar.gz压缩包的内容
tar -zxvf /opt/etc.tar.gz|more
(4)将/opt/etc.tar.gz解压到/usr/local/src下
cd /usr/local/src
tar -zxvf /opt/etc.tar.ga