Linux 指令系统

热键 :

  tab , control -c , control -d ( 其中 tab 为补全命令 , control - c 中断 ( 当程序运行不停时 ) , control - d ( 退出程序的运行环境, 例如使用 bc 进入计算器指令 , control -d 退出到shell)

1. date ** ( 掌握 )

  查看系统当前日期

  常用 : date + %Y%m%d   得出的日期格式为 20120412 ,      date+ %Y_%m_%d   的出的日期格式为 2012_04_12

格式是统一用 % 来作用的

date -s 设置日期                        例如 : date -s "20120919 09:26:00"

date + %Y%m%d                      例如 : date +%Y%m%d  

加减法                                       例如 : date -d "-1 week" +%Y%m%d ( 表示 上一星期 )

2. bc * ( 一般 )

  计算器

  进入计算器内进行计算操作, + - * / % 都可以进行, quit 退出 ,  4+2-1 回车, 输出结果

  scale 表示小数点的位数, scale=3表示小数点后3位, 同样, scale=0表示整数

3. cal * ( 一般 )

  日历

  常用 : cal [month][year]      cal 10 2009  查看2009年10月份的日历

4. man *** ( 掌握 )

  帮助命令 ( 空格键 , page-down 向下翻页 , page-up向上翻页 , Home 去到第一页 , end 到最后一页, / 向下搜索 , ? 向上搜索 , n N ( n向下继续 , N向上继续 ) q 退出 )

  序号 1,5,8比较重要 ( 其中1为用户可以使用指令,5配置文档, 8系统管理员使用指令) , 例如 man date 

  man -f man ( 查看有多少种man , 所有的等价的全部显示)   man 7 man ,

5. sync * ( 一般 )

  将内存中的内容写到磁盘 ( 默认当关机等操作时, 系统会自动调用此命令 )

6. shutdown ** ( 掌握 )

现在关闭系统或者隔一会再关闭系统: shutdown [-t sec] [-krhfFc] time [warning-message]

-t : second 直接关闭,接秒数

-k : 假关闭,只发通知给别人,但是实际没关闭

-r : 关闭后,重新启动系统

-h : 关闭系统后,关闭电源

-f : skip fsck

-F : 强制 fsck

-c : 取消前边的shutdown

time 的格式 :    可以是 hh:mm 指定具体的时间, 也可以是 +minute , 例如 +5 表示5分钟后, now=+0

例如: 现在就关闭系统,并且直接关闭电源 shutdown -h now

例如: 5分钟后重启,并提示大家,我有事, shutdown -r +5 I have something to do

例如:取消刚刚的shutdown , shutdown -c

  

7. reboot  * ( 掌握 )

  重启系统     通常 sync ; reboot

8. halt * ( 一般 )

  关闭系统, 但是不关闭电源, 最后显示 System halted, 就停在那里,个人不推荐使用

9. poweroff * ( 一般 )

  关闭系统, 并同时关闭电源, 基本上是调用 shutdown 关闭.

10, fsck * ( 一般 )


check and repair a Linux file system.

检查文件系统,其中命令后边可以接,/dev/sda1, 也可以接mount 挂载接口, 例如 / , /usr 等等,或者是磁盘的label(标识) 如本地磁盘1 等等。Normally, the fsck program will try to run filesystems on different physical disk drivers in parallel to reduce total amount time to check all of the filesystems.

硬盘检测命令 ( 比如把所有磁盘都分配到 / 目录下 , 此时,如果硬盘出现问题,  比如不能进入系统, 可以将硬盘拔下来, 接到另一个linux主机上, 并且不要挂载, 然后对接入的磁盘

  使用 fsck /dev/sdb1 ( 如果新接入的磁盘名称是 sdb1 ), 这是大多数时候的用途)

返回的检查结果是,0标识啥事没有,1表示有错误,并且解决了,2重启,4有问题没解决,8操作错误,16有语法错误,32用于取消了fsck

 

11. ls *** ( 掌握 )

  查看档案内容 , 类似dos 中的 dir

  常用 -a 显示全部包括隐藏文件, -d 只显示目录, -l 显示属性等信息,  -F 最后显是文件类别 ( 是否文件夹等 )

  常用  ls -alF , ll 

  档案&文件夹说明( 当需要操作文件夹时需要 加上 -R , 因为文件佳内有内容, 所以要使用递归操作 )

-a : 全部,包括隐藏内容

-d : 只显示文件夹

-F : 按照可以区分的方式显示,例如 / 表示文件夹

--full-time : 按照完整的事件格式显示

-l : long fomart

-t : 按照修改的事件排序,有点类似目前我使用windows 风格

-R 递归,将该文件夹内的子文件夹的内容也显示出来,而且是分行显示,很明显

 

12. chgrp *** ( 掌握 )

  改变档案&文件夹组属性 chgrp -R root( 组名 ) abc( 文件夹)

13. chown *** ( 掌握 )

  改变档案&文件夹 chown abc:abc( 连组一起修改 ) abc ,    chown:abc bac ( 只修改组, 注意符号 .  )  chown abc abc ( 只修改拥有者)

  -R 递归

 

14. chmod *** ( 掌握 )

  改变档案&文件夹 chmod 777 abc.txt ( 数字表示法, 其中 r:4 w:2 x:1 , 3个7分别为拥有者权限, 组内权限 , other权限 )

                           chmod u=rwx, og=rw abc.txt ( u 拥有者, g 组内, o 其他, a 全部, + 增加, -除去 )

                            chmod a+x abc.txt      chmod u+x abc.txt        chmod u-x abc.txt            chmod -R u+x abc ( 文件夹)

                            chmod 4775 abc.txt ( 4 是设置特殊权限, 4SUID 2SGID 1SBID)

                             SUID 借用ower权限, SGID 借用群组权限, SBID 只针对文件夹, 设置文件夹内只能删除或者修改自己创建的档案 )

                             chmod u+s ( SUID ) g+s ( SGID ) o+t ( SBID ) 另一种设置方法

  -R 递归

15. cd *** ( 掌握 )

  到达指定目录 , cd ~moveofgod , 到达moveofgod的家目录, cd ~ 到达自己的家目录 , cd 也是回到家目录的意思, cd - 回到上一次操作的目录

  相对路径写法 , cd ../asdf   ( 上一层目录中的 asdf文件夹 )

16. pwd ** ( 掌握 )

  查看工作目录 pwd -P ( 显示实际目录, 而非链接目录(非实体链接) )

17. mkdir ** ( 掌握 )

  创建文件夹   mkdir -p test1/test2/test3/test4

  mkdir -m 744 test2  ( 创建文件夹, 并指定权限 )

18. rmdir ** ( 掌握 )

-p :  删除文件夹( 空的 )   rmdir -p test1/test2/test3/test4

 

19. ifconfig ** ( 一般 )

  查看网络信息

20. ping ** ( 一般 )

  ping 网络情况

21. cat * ( 一般 )

 cat [-An] 文档名

-A 显示说有内容,A = all , 例如结尾符号$ , Tab 符号 ^ ,空行等等,所有内容

-n 带行号显示 

从第一行开始显示档案

cat -A Makefile , cat -n Makefile ( cat -An Makefile )

22. tac * ( 一般 )

  从最后一行开始反向(顺序)显示档案

23. nl * ( 一般 )

  正向显示档案, 并显示行号 注意,这个 nl 会省略掉空行的行号,而以上的cat -n 会将空行也加上行号

24. head * ( 一般 )

  只看头几行档案   head -n 5 abc.txt ( 只显示前5行 )      head -n -5 abc.txt ( 代表显示所有行,就不显示最后5行,含义类似“剪掉后边5行” )

25. tail * ( 一般 )                 

  只看尾几行档案   tail -n 5 abc.txt ( 反向显示后边5行 )  tail -n +20 abc.txt ( 显示20行以后的数据, 正向 )

26. od * ( 放弃 )

  以二进制的方式读取档案 ( 可以通过参数显示时将二进制数与ASCⅡ对应关系)

27. cp *** ( 掌握 )

  复制档案&文件夹( 功能很强大)

  cp -a 相当与 pdr ( p 将档案属性一起复制而非默认属性, d若档案为链接档, 则复制链接档而非档案本身, r 递归复制 用于复制目录行为 )

            比如,如果是个符号连接,那么复制完后,新的内容也是一个符号连接,连接到那个真正根上的档案,如果没有 -a 那么新的档案就跟独立的档案一样,并且内容也是根档案的内容

   -i 若复制文件已经存在, 提示覆盖与否 ?

  cp -l ( 实体连接 ) 连接数会增加 1( 权限属性等完全一致 ) ( 这个意思是创建一个实体链接来代替复制操作 )

  cp -s ( 快捷方式 ) 文档名右边有个 ->符号                            ( 这个意思是创建一个符号连接来代替复制操作 )

  cp abc.txt ss.txt abc/     ( 复制 abc.txt 变成 ss.txt 到 abc 文件夹中 )

  复制时要注意 , 是否保留原档案属性 ? 来源是否为连接档 ? 是否为特殊档案(FIFO,socket等) ? 是否为目录 ?

 -f : 如果目标文件已经存在,并且无法打开,那么先删除原来的,再进行目前的复制操作

 

 28. rm *** ( 掌握 )

  删除档案或目录 -f -i -r ( 强制, 提示, 递归 )

  rm ab* ( 使用通配符 * )

  \rm test ( 删除时不会出现提示, 忽略alias )

rm -f aaa ( 不管 aaa 是否存在, 都删除 )

rm -i aaa ( 交互式删除 )

rm -r aaa ( aaa 是文件夹,删除文件夹内所有档案,并且删除文件夹 )

29. mv *** ( 掌握 )

  移动档案与目录 更名

-i : 交互式

-f : 强制 ( 如果有,直接覆盖 )

-u : 如果目标文件没有移动过去的文件新,或者目标文件不存在,移动

  mv abc.txt  aa( 文件夹)      mv abc.txt    ss.txt ( 更名 )

  mv abc.txt ss.txt aaa(文件夹 ) 一次移动2个档案

30. basename * ( 一般 )

  获取最后一个档名, 例如 basename /etc/sysconfig/network 得到的结果就是 network ( 在写 shell script 时有用, 可以使用数据流重定向,找到对应档名 )

31. dirname * ( 一般 )

  获取前面目录名称, 例如 dirname /etc/sysconfig/network 得到的结果是 /etc/sysconfig ( 在写 shell script 时有用,可以使用数据流重定向,找到对应路径 )

32. more *** ( 掌握 )

  显示信息,可以翻页 , space向下翻页, enter向下一行, /字符串 向下搜索字符串,  q离开, b向上翻页

33. less *** ( 掌握 )

  显示信息, 比more更加灵活

  space向下翻页, page down向下一页, page up 向上一页, /字符串 向下搜索 ?字符串 向上搜索 n继续向下, N继续向上 , q退出

34. touch ** ( 掌握 )

  修改档案时间 / 建立空档案

  modification time( mtime ) ( 修改档案的时间 )

  status time ( ctime ) ( 权限等属性被修改时 )

  access time ( atime) ( 读取时间 )

  ls -l --time=atime ( 查看档案的读取时间 ) ls -l --time=ctime( 查看档案状态修改时间 ) ls -l 即默认情况是mtime 即档案修改时间

  用touch 创建档案时, 刚开始 3个时间是一样的 .

  touch -d "2 days ago" abc.txt ( 将档案时间修改为2天前, 变动为读取时间和修改时间, 状态时间并没有变 )

注意没有 ls -l --time=mtime, 因为mtime是默认的不需要指定

 

默认情况下:ls显示的是该档案的 mtime,也就是这个档案内容的上次更改的时间。

touch [-acdmt] 档案

-a 仅修改 access time ( 将 atime 修改到当前时间 )

-c 仅修改档案的时间,若该档案不存在则不建立新档案 ( 将ctime 修改当当前时间)

-d 后面可以接欲修改的日期而不用目前的日期,也可以使用 --date="日期或事件" 全部时间都修改

-m 仅修改mtime

-t 后面可以接欲修订的事件而不用目前的时间,格式为[YYMMDDhhmm]

例如: 建立一个空档案,aa

touch aa

touch -d "2 days ago" aa ( 所有时间修改到2天前 )

touch -t 1211011315 aa ( 修改了 access time , modify time , 但是并没有修改 status time )

touch -c aa ( 将3个时间全部修改 , 但是如果 aa 档案不存在,则不会建立 aa 这个档案 )

touch -a test2 ( 此时会将 test2的 access time 修改为当前时间 )

 

综合例子

touch -m -t 1009091000 aa ( 修改 mtime 到 10年9月10日 10点 )

touch -a -t 1009100900 aa ( 修改 atime 到 10年9月10日 9点)

 

touch -m aa ( 修改 mtime 到当前时间 )

touch -a aa ( 修改 atime到当前时间 )

touch -c aa ( 将 mtime,atime 都修改到当前时间 )

status time 无法直接修改,除非你修改档案的权限,例如 chmod 777 aa, 这样,就会自动修改 status time

 

 

35. umask * ( 放弃 )

  档案预设权限 ( umask -S )        umask 中的数值显示的是缺失的权限 ( 创建档案或目录时 )

36. chattr ** ( 放弃 )

 chattr [+-=] [ASacdistu] 档案或目录名称 ( 只用 + - 就可以了,不需要 = )

 a : 当设定 a 后,这个档案将只能增加数据,不能删除也不能修改数据,只有root 才能设定这个属性

 i : 这个 i 可以让档案不能被删除,改名,设定链接,也无法写入或新增资料,对于系统安全性帮助相当大,只有 root 才能设定此属性。

  chattr +i abc.txt        chattr -i abc.txt 解除 , 解除后就可以删除  chattr + a test1 chattr -a test1

37. lsattr ** ( 放弃 )

  查看隐藏属性 例如 lsattr ,  lsattr abc.txt

 lsattr [-adR] 档案或者目录

-a 显示隐藏档案

-d 仅列出目录本身的属性,而非目录内的档案

-R 递归

 

38. file ** ( 掌握 ) 

  观察文件类型 file test1 , file a.txt.bz2 等等

  注意此处是观察文档的类型,(包括文件夹等等 ) 但是不是命令

39. which ** ( 掌握 )        

  查找指令的存储路径 ( cd 等内建命令无法查询 ) , 只是在PATH 自己的命令路径中搜索 .

  which -a ifconfig ( 将所有的命令档案列出, 而不是只列出一个 )

40. su ** ( 掌握 ) 

  切换用户 su - oracle ( 子 shell )

  -l , make the shell a login shell ( 区别是要读一遍相应的登录档 )

  -m , do not reset environment variables ( 如果是root 用户切换到普通用户时,一般权限是不准许的 )

41. type ** ( 掌握 )

  查看命令属性 ( type cd , 结果为 : cd is a shell built in ) ( 只是命令 )

42. whereis *** ( 掌握 )

  查看指令所在档案 ( 也只是针对指令 )

  whereis ifconfig ( 查询很快, 命令也是档案, linux中全部都是档案 )

43. locate ** ( 掌握 )
  档案和命令都可以

  locate if ( 不用输入完整文件名, 部分名称就可以,  locate使用之前要先更新数据库, root执行update, 然后直接在/var/lib/mylocate数据库中搜索, 所以速度快)

locate命令使用权限:所有者
locate命令语法: locate [-q] [-d ] [--database= ]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]
< [-U ] [-u]>
locate [-Vh] [--version] [--help]
locate命令参数说明:
在一般的 distribution 之中,数据库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用
# locate your_file_name
的型式就可以了。 参数:
-u -U :建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。
-e :将 排除在寻找的范围之外。
-l :如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。 web教程网
-f :将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在数据库中。
-q :安静模式,不会显示任何错误讯息。
-n :至多显示 个输出。
-r :使用正规运算式 做寻找的条件。
-o :指定数据库存的名称。
-d :指定数据库的路径
-h :显示辅助讯息
-v :显示更多的讯息
-V :显示程序的版本讯息 范例:

 

locate -u 建立

locat -n 10 cd ( 查看cd 档案 , 只显示 10 条 )

 

44. find *** ( 掌握 )

  查找文件或目录 ,  find [PATH] [option][action]

  find / -mtime n ( 列出 n 天之前的一天内 当天的一天内, 被修改过的档案 )

  find / -mtime +n ( 列出 n 天前的 不含第 n 天本身, 所有被修改过的档案 )

  find / -mtime -n ( 列出 n 天之内的, 包含 n 天本身, 所有被修改过的档案 )

  find / -newer /etc/passwd ( 列出比 passwd 新的档案 )

  find / -user oracle ( 按照用户名查询 )

  find / -group oinstall ( 按照组名查询 )

  find / -name filename ( 查找按照档案的名称 )

  -type , -size , - mode ( 按照档案类型, 大小, 权限 )

find / -empty # 查找在系统中为空的文件或者文件夹

find /tmp ! -user panda ( 不属于 panda这个 用户的档案 )

find / -user fred -or -user george ( 或者属于 fred 或者属于 george )

-maxdepth levels ( 档案的层次,如果你输入的 levels 是2 , 如果档案名称相同,但是层次不同也是无法搜索到得 )

find /tmp -maxdepth 2 ( 2层 ) , 如果是1, 那么直显示 tmp 下边一层的档案

45. df *** ( 掌握 )

  显示磁盘信息, 可以看到挂载点. 例如 : df , df -h

df [-ahikHTm] [目录或文件名]   ( 列出文件系统磁盘使用量)

-a : 列出所有文件系统,包括 /proc

-k : 以KBytes 单位显示文件系统

-m : 以 MBytes 单位显示文件系统

-h : 以人们较轻易阅读的 GBytes,MBytes,KBytes等格式显示 ( 常用 )

-T : 连同 名称一起显示

-i : 不用磁盘容量,而已 inode 数量显示  ( 常用 )

df -ih

46. du ** ( 掌握 )

  评估文件系统的使用量 , 例如 : du /u01 查看oracle目录下文件共使用空间.

du [-ahskm] 档案或目录

-h : 以人们方便读的容量格式显示

-s : 列出总量而已,而不列出每个个别目录的占用容量

du -sh /u01  ( 有点类似 windows 中查看没个文件夹容量 )

47. ln *** ( 掌握 )

  建立链接档案 , ln -s 为建立快捷方式链接 , 如果不加 -s 就是建立 hard link 实体链接 .

  ln [ -s ] test1 ( 源文件/文件夹 ) ./test2/asdf ( 目标文件/文件夹 )

 

hardlink ( 实体链接 ) : 透过文件系统的 inode 链接来产生新档名, 而不是新档案 . ( 多个档名对应到一个 inode 中 )   

   ln Makefile ../asdf ( 建立一个 asdf ,这个 asdf 是新的档名,但是它跟 Makefile 是同一个 inode.

   hardlink 好处 : 安全, 如果你不小心删除了1个档名,其实该档案的 inode与 block还是存在的,此时你可以通过另一个档名来读取档案。

   hardlink 限制 : 不能跨 Filesystem , 不能 link 目录 ( 不能LINK目录原因是, 目录下的每个子目录都有父目录的档名 ../ , 所以在link父目录的同时, 必须link每个子目录,这样很麻烦, 所以不能link 目录 )

   symbolic link 符号连接 : 即 windows 中的快捷方式 . 实际上就是建立一个独立的档案, 这个档案让数据的读取指向他link的那个档案的档名。从ls命令中也可以看出, 因为有个 -> 箭头符号. ( 这两个档名使用的是不同的 inode号码 ) , 注意此处指向的是那个真正的档名, 而这个真正的档名如果被删除了, 那么这个"快捷方式"也就不好使了.

ln -s Makefile ../asdf ( 建立一个符号连接, asdf 是 Makefile 的快捷方式 )

( 注意,如上的创建 符号连接是有问题的,符号连接的源文件要用绝对路径,即 ls -n /tmp/c_practice/Makefile ../asdf )

 

ln [-sf] 来源文件 目标文件

-s : 符号连接

-f : 如果目标文件存在时,就主动的将目标文件直接移除后再建立

其中,符号链接一定要注意,要给出完成路径,否则,会失效。 ln -s /tmp/c_practice/Makefile /tmp/asdf 没问题, 而如果是 ln -s Makefile /tmp/asdf 就废了。

 

48. mount ** (掌握 )

  磁盘挂载命令 mount /dev/cdrom /media/cdrom ( 前边的是源文件,后边的是挂载位置 目录 )

49. umount ** ( 掌握 )

  umount /media/cdrom ( 目录位置 )

50. mkfs ** ( 掌握 )

  磁盘格式化命令

  mkfs -t ext3 /dev/sda1 ( 格式化, 其中ext2为文件系统格式, /dev/sda1为硬盘的分驱信息 )
  没有什么特殊要求的话,mkfs 足够。

51. fdisk *** ( 一般 )

  磁盘分区命令

  首先找到磁盘信息, df / 查到 磁盘信息后, 例如 /dev/sda1 , 然后

  fdisk /dev/sda1 进行操作, 按m 可以看到提示命令, q可以不好存直接退出, 只要不保存啥事都没有.
  直接按照提示接可以了。

52. dumpe2fs ** ( 一般 )

  查看 inode table , block table 等磁盘信息 例如 dumpe2fs  -h /dev/sda1

53. badblocks * (一般)

  检查磁盘中的坏区

  badblocks -sv /dev/sda1 ( 查看硬盘坏区 )

54. gzip *** ( 掌握 )

  压缩后, 原文件不存在 , 可以使用 zcat 读取压缩的内容( 不是解压缩 )

  -c : 将压缩的数据输出到屏幕上, 可透过数据流重定向来处理 ( 不太好用 )

  -d : 解压缩的参数 ( 将压缩文件解压缩成原来的文件, 未压缩之前的 )

  -t : 可以用来检验一个压缩文件的一致性, 看看档案有无错误

  -v : 可以显示出原档案/压缩文件的档案比等信息

  -# : 压缩等级 -1最快, 但是压缩比最差, -9最慢, 但是压缩比最好, 预设是 -6

  压缩命令,  在windows 下可以被 winRAR 解压缩.

 

gzip -v abc.txt , 操作的结果是,会删除 abc.txt 生成 abc.txt.gz

zcat 档名.gz (查看内容 ) ( 只是读取,并没有解压 )

gzip -v a.txt 就会生成一个 a.txt.gz 的压缩文件,同时 a.txt 就没有了。 zcat a.txt.gz 可以读取该压缩包的内容

gzip -d a.txt.gz 会将刚刚压缩的内容解压缩,生成 a.txt文件,同时 a.txt.gz 没有了

 

55. bzip2 *** ( 掌握 )

  -c 同上

  -d 同上

  -k 保留原来文件

  -z 压缩参数

  -v 同上

  -# 同上

  比gzip 还要流行的压缩命令 .

  例如 : bzip2 -z asdf.txt

  bzcat asdf.txt ( 不用解压缩, 读取压缩档案中的内容)

以上压缩命令, 可以对目录进行压缩,但是是对目录下的内容分别压缩, 并不是打包一起压缩.

 

bzip2 就是为了取代 gzip的,更好一点

bzip2 [-cdkzv#] 档名 ( bzip2 与 gzip 用法基本相同 )

-c : 将压缩的数据输出到屏幕上,可透过数据流重导向来处理

-d : 解压缩的参数

-k : 保留源文件,而不会伸出原始档案

-z : 压缩的参数

-v : 可以显示出原档案、压缩文件案的压缩比等信息

-# : 压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,预设是 -6

bzcat a.txt.bz2 可以查看压缩文件的内容。

bzip2 -k a.txt 压缩完后扩展名是 .bz2 并且保留了原文件

 

56. tar *** ( 掌握 )

  打包命令

  -c 建立打包档案, 可搭配 -v 来查看过程中被打包的档名 filename

  -t 查看打包档案的内容喊有哪些档名, 重点在观察档名

  -x 解打包或解压缩的功能, 可搭配 -C 在特定目录解开

  -j 透过 bzip2 的支持进行压缩/解压缩, 此时档名最好为 *.tar.bz2

  -z 透过 gzip 支持进行压缩/解压缩, 此时档名最好为 *.tar.gz

  -v : 在压缩/解压缩过程中, 将在在处理的文件名显示出来

  -f filename : -f 后面要立刻接要被处理的档名, 建议 -f单独写一个选项

  -C 目录 : 这个选项是用在解压缩, 若要在特定目录解压缩, 可以使用这个选项

--exclude=FILE : 在压缩过程中,不将该FILE打包

好的方式 以下是打包并且压缩

压缩  : tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称

查询 : tar -jtv -f filename.tar.bz2

解压缩 : tar -jxv filename.tar.bz2 -C 欲解压缩的目录

tar -jcv -f ttt.tar.bz2 linux_practice  ( 打包+压缩 )

tar -jtv -f ttt.tar.bz2  ( 读 )

tar -jxv -f ttt.tar.bz2 -C c_practice ( 解压缩 )

单个档案

tar -jtv -f ttt.tar.bz2 | grep test1 ( 只读  test1 这个档案 )

tar -jxv -f ttt.tar.bz2 linux/test1 ( 在原来压缩文件的目录上,解压一个档案  tes1)会在指定路径,比如说本文件夹内,创建一个 linux/test1 , 也就是说,会将目录一起创建

打包某目录,但是不包含该目录下的某些档案之做法

tar -jcv -f ccc.tar.bz2 --exclude=Makefile ( 或者等于某个文件夹比如 script,但是这要注意,是直接写档名或者文件夹名,不需要指明路径 )

仅比某一时刻新的档案,打包

tar -jcv -f /root/etc.newer.then.passwd.tar.bz2 --newer -mtime="2012/09/29" /etc/*

 

  压缩 : tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称

  查询 : tar -jtv -f filename.tar.bz2

  解压 : tar -jxv -f filename.tar.bz2 -C 将要解压的目录

57. dump ** ( 放弃 )

  文件系统备份命令 ( 可以完整备份, 也支持差异备份 )

  dump [-Suvj ] [ -level] [ -f 备份档案] 待备份资料

  dump -W

  -s

dump 支持整个文件系统或单一个别目录的备份,但是主要还是整个文件系统的备份。

dump [-Suvj][-level][-f 备份档] 待备份资料

dump -W ( 查询在 /etc/fstab 里边的具有 dump设定的 partition 是否备份过)

-S:仅列出后面的待备份数据需要多少磁盘空间才能备份完毕

-u:将这次 dump 的事件记录到 /etc/dumpdates档案中

-v:将dump档案过程显示出来

-j:加入bzip2的支持,将数据进行压缩,默认bzip2的压缩等级是2

-level:等级,从0 ~9 共十个等级

-f:有点类似 tar,后面接缠身的档案,也可以是如 /dev/st0装置文件s名

-W:列出在 /etc/fstab里边的具有 dump 设定的partition是否有备份过

dump -S /dev/sda1 测试一下需要多少空间 6694872064 单位是 byte , 需要600M+

 

58. restore ** ( 放弃 )

  恢复备份 ( 恢复 dump备份的内容 )

restore -t [-f dumpfile] [-h] 查看 dump档案

restore -C [-f dumpfile] [-D 挂载点] 比较 dump与实际档案

restore -i [-f dumpfile] 进入互动模式

restore -r [-f dumpfile] 还原整个文件系统

-h: 查看完整备份数据中的 inode 与文件系统的 laebl等信息

-f : 后面就解你要处理的那个 dump档案

-D : 与 -C 进行搭配,可以查出后面接的挂载点与 dump内有不同的档案

restore -t -f /root/boot.dump

restore -C -f /root/boot.dump

 

59. dd ** ( 放弃 )

  读取磁盘内容或创建一个档案 ( 可以用来制作大档案 )

  dd if="input_file" of="out_file" bs="block_size" count="number"

  其中 if 就是准备备份文件 例如 /dev/hdc

           of 就是备份文件 例如 /tmp/passwd.back

           bs 就是一个block的大小, 默认是 512 bytes

           count 就是有多少个 block

例如 dd if=/dev/hdc of=/tmp/passwd.back bs=512 count=1

创建100M的空文件

dd if=/dev/zero of=hello.txt bs=100M count=1

dd if=/dev/zero of=hello.txt bs=100M count=2 ( 这时候,生成的 hello.txt 文件大小就是 200M, 因为count = 2 )

 

/dev/null 无底洞,通吃

/dev/zero 输入设备,用来初始化文件 ( 无穷的写入0)

 

60. cpio ** ( 放弃 )

  备份文件 理论上可以备份任何东西,包括设备档案, 但是cpio不会自己找到档案, 所以要与find之类的指令配合

  find /boot | cpio -ocvB > /tmp/boot.cpio

cpio -idvc < /tmp/boot.cpio ( 解出备份的内容到当前目录下)

cpio -ovcB > [ file | device] 备份

cpio -ivcdu < [ file | device] 还原

cpio -ivct < [ file | device ] 查看

-o : 将数据copy输出到档案或装置上

-B : 预设 512 bytes , 可以增到到 5120 bytes

-i : 将数据自档案或装置 copy出来

-d : 自动建立目录, 使用 cpio所备份的数据内容不见得会在同一层目录中,因此我们必须要让 cpio 在还原时可以建立新目录,此时就得要 -d

-u : 自动将较新的档案覆盖较旧的档案

-t : 需要配合 -i 使用,可以查看以 cpio建立的档案或装置内容

-v : 让存储的过程中文件名显示在屏幕上

-c : 一种较新的 portable format 方式存储

find /boot | cpio -ocvB > /tmp/boot.cpio

find / | cpio -0cvB > /dev/st0

cpio -idvc < /dev/st0

 

61. alias ** ( unalias ) ( 一般 )

  给命令起别名     alias lm='ls -al'         注意等号左右不能有空格

  alias 直接可以查看系统中有哪写别名

  unalias lm 取消别名

62. ulimit ** ( 放弃 )

  限制 shell 使用资源 , 例如使用内存限制等等 , 限制用户创建的最大档案。

63. uname ** ( 一般 )

  查看系统信息 例如  uname -a

64. env *** ( 一般 )

  查看环境变量

65. set ** ( 掌握 )

  查看环境变量设定值  

66. unset * ( 一般 )

  将变量的值清空, 例如 unset myname

 

67. read *( 掌握 )

  读取来自键盘输入的变量, 例如 read myname 回车 , 输入 kevin , echo $myname 则输出结果为 kevin

  -p 提示信息 , -t 读秒  read -p "please input your name" -t 30 myname ( 30秒内输入你的名字 )

68. declare *( 掌握 )

  声明变量类型

  -a   变量为数组类型

    -i    变量为整数数字

    -x   声明为环境变量

    -r   readonly 类型

  declare + x ( 将 - 变成 + 可以进行取消操作 ) 例如下面 declare + i sum ( 此时 sum 就变回默认的 字符串类型了 )

  declare -p sum 可以显示sum 的类型

  例如 sum = 100+200+300 echo sum , 结果是 100+200+300 , 但是 declare -i sum , sum=100+200+300 echo sum , 结果是 600 这就是区别

typeset *

  声明变量类型

69. history **( 掌握 )

  查看执行命令 直接使用 history , 查看命令

  history 3 查看最近3笔命令

  -c 清除 history 中的命令

  -a 将新增加的history的命令写入 hisfiles中

  -r 将 hisfiles 的内容读到目前这个shell 的history中

  -w 将目前的 history 记忆的内容写入 hisfiles中

70. source *( 掌握 )

  将环境变量读入 , 而非只是修改环境变量文件, 重新登陆

  source 配置文件档名 例如 source ~/.bashrc

71. stty **( 掌握 )

  stty bash 环境设置 , 例如 stty -a 是显示左右的环境情况

  stty erase ^h , 是设置 ctrl + h 来删除东西 ,

72. echo **( 掌握 )

  shell中显示内容 , echo $myname
 

73. export ***( 掌握 )

  声明环境变量

  export myname

74. locale **( 一般 )

  查看语言环境 locale -a 查看所有语言

75. cut **( 掌握 )

  截取命令, 将有用的信息切出来, 例如  echo $PATH | cut -d ":" -f 5 ( 意思是 , 以冒号 : 为分隔符 , 截取第5个 ) , 也可以 echo $PATH | cut -d ":" -f 3,5 截取第3个和第5个

  cut 比较常用在同一行中进行截取, 并且是有固定格式的那种,例如有固定的分隔符 :
  cut -c 3 ( 截取第3个字符 )

76. sort **( 掌握 )

  排序命令

ls | sort

 

sort [-fbMnrtuk] [file or stdin]

-f : 忽略大小写

-b : 忽略前边的空格

-M : 以月份的名字来排序

-n : 使用纯数字进行排序

-r : 反向排序

-u : 就是unique, 相同的数据中,进出现一行代表

-t : 分隔符,预设是用【tab】键分隔

-k : 以那个区间(filed)来进行排序

cat /etc/passwd | sort -t ':' -k 3 ( 含义是,用:来作为分隔符,另外以第3栏来进行排序 )

 

77. unqi **( 掌握 )

  将重复的内容仅列出一个显示

-i : 忽略大小写

-c : 进行计数

last | cut -d ' ' -f1 | sort | uniq ( 找到每一行中,去掉第一列重复的内容 )

 

78. wc **( 掌握 )

  显示统计信息, 将内容按照 行 , 字 , 字符数统计出来

  例如 : cat /etc/man.config | wc  

-l : 仅列出行

-w : 仅列出多少字

-m : 多少字符

cat /etc/man.confilg | wc   ( 输出结果为 141 722 4617  分别代表 行,字数,字符数 )


 

79. tee **( 掌握 )

  tee 命令的作用时, 将内容保存到某个文件中的同时, 将内容输出到屏幕或者其他 standout .

  例如 : ls -l /home | tee~/homefile | more  ( 此时, 就将数据保存在 homefile的同时, 又继续数据流重定向到 more命令 )

80. tr **( 掌握 )

  用来删除或者替换一段文字

  cat /etc/passwd | tr -d ':' ( 删除 : )

  cat /etc/passwd | tr -s 'a ' 'x ' ( 用 x 替代 a )

81. col * ( 放弃 )

  为了输出美观, 可以将 tab键等提换成空格

  例如 : cat /etc/co | col -x | more ( 这样 tab 键就被替换成空格了, 就美观多了 )

82. paste ** ( 放弃 )

  直接连接在一起

83. expand * ( 放弃 )

  也是用来转换tab键的

 

84. jobs ** ( 掌握 )

jobs [-lrs] 其中 l 表示完整显示 r 表示正在背景下运行的程序 s 表示背景下暂停的程序

例如 :

jobs -lr

jobs -ls

显示的内容为 job no. 和 pid 号 等等

 

85. fg **( 掌握 )

fg %job no.  ( 放到前景)

86. bg **( 掌握 )

bg %job.no ( 放到背景 )

 

87. nohup **( 掌握 )

真正将命令不依靠当前 shell 工作

nohup ./sleep & ( & 是将工作放到背景下执行的意思 例如 , vi regular.txt & 同样,也是将工作放到背景下执行)

 

88. kill **( 掌握 )

kill 杀掉某个进程

kill -l 显示 kill 的提示信息

kill -1,9,15 ( 1代表重新读取, 9代表强制关闭,15代表正常关闭 )

kill -9 %job.no

89. killall **( 掌握 )

根据名字杀掉相关进程

例如

killall -i 9 httped ( -i 的意思是交互提示 )

90. ps **( 掌握 )

瞬时查看进程情况

ps aux ( 查看所有进程 )

ps -l ( 只查看自己的进程 )

ps afjx ( 以树状的形式查看进程 )

91. top **( 掌握 )

持续观察进程情况

top -p 5248 ( 只观察 PID 为 5248的进程情况 )

top -bn 3 ( 分别显示 3 次,不会进入 top 状态)

top -d 10 ( 每个10秒 刷一次,查看top情况 )

进入 top 状态后, m 可以进行排序, q 退出

 

92. free **( 掌握 )

查看内存使用情况

free -m 以兆的形式查看

93. uptime **( 掌握 )

查看系统负载情况

输入命令 uptime 后,显示内容如下

现在时间,系统已经启动多久,多少用户登录,系统负载情况: 1分钟 5分钟 15分钟

跟 w 命令所显示的内容相同

 

94. netstat **( 掌握 )

追踪网络或插槽文件 - [atunlp] 可以用在网络监控方面

  • -a : 所有联机, 监听, socket数据都列出来
  • -t : 列出 tcp 网络封包数据
  • -u : 列出 udp网络封包数据
  • -n : port number 显示
  • -l : 列出目前正在网络监听( listen ) 的服务
  • -p : 列出该网络服务的程序PID

netstat -tlnp 比较常用

其中的显示内容如下 :

与网络相关的内容,前半部分

Proto : 网络封包协议,主要非为 TCP 与 UDP 封包

Recv-Q : 非由用户程序链接到此 socket 的复制的总 bytes 数

Send-Q : 非由远程主机传送过来的 acknowledge 总 bytes 数

Local Address : 本地 Ip : port

Foreign Address : 远程主机的 Ip:port

State : 状态

与本地程序相关的内容,后半部分

Proto 一般是 unix

RefCnt 链接到此的 socket数量

flags : 联机旗帜

Type : socket存取类型

state : 状态

Path : 链接到此socket的程序的路径

95. vmstat **( 掌握 )

侦察系统资源变化 cpu / 内存 / 磁盘输入输出状态 , 如果你想了解那个环节最有问题,可以使用这个命令来进行分析

  • -a 使用 inactive/active 取代 buffer/cache
  • -f 将开机到目前为止,系统复制的程序数
  • -s 将开机到目前为止,导致内存变化的说明
  • -S 后面接单位数,例如 M
  • -d 列出磁盘的读写总量
  • -p 后面列出分割槽,可现实该分割槽读写总量统计表

vmstat 1 3 ( 查看状态, 每秒1次,共3次 )

显示结果说明 :

内存字段 procs : r 等待运作程序数量 b: 不可被唤醒程序数量, 这两个数量越多,代表系统越忙碌, 因为系统太忙, 所以很多程序无法被执行和唤醒 )

内存字段 memory : swpd 虚拟内存使用量 free 未被使用内存量 buff 缓存 cache 高速缓存

swap : si 由磁盘中将程序取出的量 so 由于内存不足而将没用到的程序写入swap 如果 si / so 的数值台大, 表示内存的数据常常在磁盘与主存储器之间传来传去,系统效能很差。

io : bi 有磁盘写入的区块数量 bo 写入到磁盘去的区块数量,如果这部分的值越高,代表系统的 I/O 非常忙碌。

system : in 每秒被中断的程序次数 cs 每秒进行的事件切换次数 这两个数值越大,代表系统于接口设备的沟通非常频繁,包括磁盘,网络卡等等

cup : us 非核心层 的cpu状态 sy 核心所使用的cpu id 闲置的状态 wa 等待 I/O所消耗的CPU状态 st 被虚拟机所盗用的cpu状态

96. fuser **( 掌握 )

查看某个档案或目录哪个用户正在使用

fuser -uv /proc

fuser -uv /u01

97. lsof **( 掌握 )

列出被进程所开启的档案

-a : 多项条件同时满足时,显示

+d : 文件夹内的开启内容

-u : username

-U : unix like socket

例如 :

lsof -u root -a -U ( 即 是 root 用户 并且还是 unix like的 )

lsof +d /dev (在dev这个目录下开启的档案 )

 

98. pidof *( 掌握 )

找出正在执行程序的PID

-s : 仅列出一个 pid 而不是所有

-x : 同时列出 pid 和 ppid

pidof -s ora_pmon_kevin

 

99. split **( 放弃 )

  分割命令, 可以将大的档案分割成小的.

  split [-bl] file PREFIX

  其中-b 后面可接大小 , 可加单位 -l 以行数来分割 , PREFIX 代表前导符的意思,( 就是分割文件后,文件名前面一致的内容)

  例如 : cd /tmp ; split -d 300k /etc/termcap termcap ( 所的结果为 termcapa , termcapb ... 其中 termcap 就是前导符)

100. xargs *( 放弃 )

 

产生某个指令的参数的意思。 xargs可以读入 stdin的数据,并且以空格符或断行字符作为分辨,将stdin的资料分隔成为 arguments。

xargs [-0epn] command

-0 :如果输入的 stdin中含有特殊字符,例如 \ ,空格等等,这个-0 可以将他们还原成一般字符。

-e :这个事 eof 的意思,后边接一个字符串,当 xargs 分析到这个字符时,就会停止工作

-p :在执行每个指令的 argument时,都会询问使用者的意思

-n :后面接次数,每次 command 指令执行时,要使用几个参数的意思。当 xargs没有接任何命令时,默认是以 echo来进行输出

cut -d':' -f1
 

101. diff **( 放弃 ) 

对比档案

diff [-bBi] from -file to -file

-b : 忽略一行当中,仅有多个空白的差异 例如 about me , about     me

-B : 忽略空白行的差异

-i : 忽略大小写的不同

diff passwd.old passwd.new

 

102. patch **( 放弃 )
 

前面比较出差异,diff,如何升级,就是用 patch , 一般使用 diff知错出来的比较档案使用的扩展名为 .patch
patch -pN < patch_file

-p : 取消几层目录,接数字

-R : 还原,将新的文件还原成原来的旧文件

patch -p0 < passwd.patch

patch -R -p0 < passwd.patch  还原成旧文件

 

103. test **( 掌握 )

 查看判断,类似IF 语句

test -e /dmtsai && echo "exist" || echo "Not exist" ( -f 是否为档案 , -d 是否为目录, -e 是否存在 )

用法很多,详情查看 shell script 章节

 

104. useradd ***( 掌握 )

useradd : useradd -u( 特定 UID号码) -g( Initial group ) -G ( 还可以加入的组 ) -d ( 家目录, 绝对路径 )  -r ( 建立一个系统帐号, 默认不会创建家目录)

使用ueradd 建立帐号时, 至少参考 : /etc/default/useradd   /etc/login.defs   /etc/skel/* , 但是其实建立用户最重要的是 /etc/passwd , /etc/shadow , /etc/group

105. passwd ***( 掌握 )

更改密码 passwd , 会有提示,然后输入密码。

passwd : passwd -l ( lock ) -u ( unlock ) -S ( 列出密码相关参数 ) -n ( 多久不可修改密码天数 ) -x ( 多久内必须修改密码 ) -w ( shadow 密码过期天数 ) -i ( 密码失效日期 )

106. userdel ***( 掌握 )
删除用户  userdel kevin

userdel : userdel -r ( 连同家目录一起删除 )

107. chage **( 一般 )


chage : chage -l vbird2 ( 列出 vibrd2用户密码的详细参数 ) , 具体还有一些其他参数, 修改 vbird2 密码 .

 

108. usermod **( 掌握 )

usermod : 修改帐号登陆信息, ( 和 useradd 非常类似, 是用来微调 useradd 的 )


 

109. finger *( 掌握 )

  找出当前登陆用户的信息, 或者 finger -s 用户名 ( 找出该用户名相关的信息 )

110. id **( 掌握 )

  列出相关信息 (例如 id vbird1 )

111. sudo ** ( 必须在 etc/sudoers这个目录下的用户才可以执行这个指令, 一般是切换成root ) ( 掌握 )

只有 /etc/sudoers内的用户才可以执行 sudo 这个指令,  visudo ( 专门修改的指令 )

sudo [-b] [-u 新使用者账号]

-b : 将后续的指令放到背景中让系统自行执行,而不与目前的 shell 产生影响

-u : 后面可以接欲切换的使用者,若无此项则代表切换身份为 root

1. 当用户执行 sudo 时,系统于 /etc/sudoers 档案中搜索该使用者是否有执行 sudo 的权限

2. 若使用者具有可以执行 sudo 的权限后,便让使用者 输入用户自己的密码 来确认

3. 若密码输入成功,便开始进行 sudo 后续接的指令 ( root 执行sudo时,不需要输入密码 )

4. 若欲切换的身份与执行者身份相同,那也不需要输入密码.

查看 /etc/sudoers 这个档案,使用命令 visudo

本身就有的文件 : root ALL=(ALL) ALL

增加 vbird ALL=(ALL) ALL

%wheel ALL=(ALL) ALL  表示 所有在 wheel 这个群组以内的用户全部可以

myuser1 ALL=(root) /user/bin/passwd  意思是 myuser1 可以使用passwd 这个指令

 

112. groupadd **( 掌握 )

groupadd [-g gid] [-r] 组名

113. groupdel **( 掌握 )

groupdel [groupname]

114. groupmod **( 掌握 )

groupmod 微调 groupadd 命令

groupmod -g 201 -n mygroup group1   尽量不要随意动 gid

115. gpasswd **( 掌握 )

gpasswd [-A user1] [-M user3] groupname   其中将 user1设定为群组管理员, user3 添加到该群组

gpasswd -rR groupname   其中 -r 是删除密码 , -R 将密码失效

 

116. w **( 掌握 )
w 查看登陆者情况 , 跟 who 差不多

 

117. last **( 掌握 )

last 查看最近主机启动关闭情况

 

118. lastlog **( 掌握 )

lastlog 是用户登陆日志

 

119. at **( 掌握 )

我们使用 at 这个指令来产生所要运作的工作,并将这个工作以文本文件的方式写入 /var/spool/at 目录内,该工作便能等待 atd 这个服务取用与执行了

/etc/at.allow 与 /etc/at.deny 这两个档案来限制用户是否可以使用 at ( 如果这两个档案都不存在,那么只有 root 可以使用 at 这个指令,先检查at.allow,再检查at.deny

at [-mldv] TIME   at -c 工作号码

-m : 当at 完成之后,及时没有输出信息,以 email通知使用者该工作已完成 ( 如果没有信息输出,就不发送邮件,如果没有指定 -m 参数 )

-l : at -l 相当于 atq , 列出目前系统的所有 at 排程

-d : at -d 相当于 atrm , 可以取消一个 at 排程的工作

-v : 可以使用比较明显的事件格式栏出  at 排程中的任务栏表

-c : 可以列出后面接的该项工作的实际指令内容

at now + 5 minutes 进入 at >         // 这种 now + 时间的方式比较好

at > /bin/mail root-s "testing a job" < /root/.bashrc

at > <EOF> 这里输入 ctrl + d 就会出现 EOF 的字样

at -c 4

at 另一个很棒的优点是,背景执行

at 执行与所有的终端机环境无关,而所有 standard output/standard error output 都会传送到执行者的 mailbox 去啦,所以终端机当然看不到任何信息,可以通过 echo "hello" > /dev/tty1来取代,这样就能显示在屏幕上了

atrm 5 ( 5 是 job no. )

 

120. crontab ***( 掌握 )

/etc/cron.allow 和 /etc/cron.deny ( 一般只用一个就可以了,例如 /etc/cron.deny, 有at中的文件一样,如果没有,就只有root能执行 )

该工作会被记录到 /var/spool/cron/dmtsi 中      在工作没有被执行,准备的时候

cron 执行的每项工作都会记录到 /var/log/cron 这个登录档中,因为它是循环执行的,所以会有历史记录

crontab [-u username] [-l | -e | -r]

-u : 只有 root 可以,帮助其他使用者 建立/删除 crontab 工作

-e : 编辑 crontab

-l : 查看 crontab

-r : 删除 crontab 工作内容

因为是循环指令,所以需要有时间戳,

指令格式如下

分钟     小时     日期     月份     周        指令

0-59     0-23    1-31     1-12    0-7       指令   ( 周的 0 和 7 都是星期天 )

* 星号 : 代表任何时刻都接受的意思。 比如日,月,周都是* , 那就有可能代表,不论何月,何日,的礼拜几 该时间都执行

, 逗号 :代表时间断点, 0 3,6 表示 3点 和 6点 只是这两个时间点

-减号 :代表时间间隔, 0 3-6 代表 3,4,5,6,都执行

/n 斜线:每个的意思,/5 表示每隔5分钟

* /5 * * * * 就是每隔5分钟1次

系统配置文件 /etc/crontab

只需要编辑 /etc/crontab 这个档案,就可以做例行事例,有一点需要特别注意, crontab -e 这个就是编辑 /usr/bin/crontab 。系统每分钟都会读取一次 /etc/crontab 与 /var/spool/cron 里边的数据内容。因此你编辑完 /etc/crontab之后,保存后,一会就会立刻执行了。

 

121. anacron ***( 掌握 )

比如你的 linux在晚上要关机,而晚上23点多还有例程工作要做。因为时间错过了。那不是没办法工作了? 引入 anacron 命令

anacron 以天为单位或者是在开机后立刻运行 anacron 动作,执行完后就会自动停止了。

anacron 会以 一天,七天, 一个月为期去侦测系统未进行的 crontab 任务。

anacron [-sfn] [job]

anacron -u [job]

-s : 强制执行,不判断时间记录文件的时间戳 ( 用来判断关机时间 )

-n : 立刻进行未执行的任务

-u : 仅更新时间记录文件的时间戳,不进行任何工作

job : 由 /etc/anacrontab 定义的各项工作内容

 

 

122. who **( 掌握 )

查看登录者情况

123. write ***( 掌握 )

用户之间的通信 : write 使用者账号 [用户所在终端接口]

124. mesg***( 掌握 )

用户之间的通信 : mesg n 拒绝接收信息,( root 发的例外 )

125. wall***( 掌握 )

wall 广播,对系统上所有用户发消息,例如 wall " i will shutdown my linux server ... "

pstree [-A|U] [-up]  **

查看内存,树状形式查看

-A  各个程序树之间的链接方式 ASC||

-U 各个程序树之间以万国码的字符来链接,在某些终端接口下可能有错误

-p 同时列出 PID

-u 同时列出所属账号

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值