2023年8月3日发(作者:)

Linux系统常⽤操作命令整理1.查看linux版本:cat /proc/version2.查看Linux版本: uname --all3.查看php版本:php -v查看PHP扩展库: php -m查看MySQL版本: mysql -V查看Nginx版本:nginx -v(或者⼤V)4.查看gcc版本:gcc --version5.查看cmake版本:cmake --version6.查看PHP ini位置:php --ini或者使⽤:locate 或者:find / -name 7.查找⽂件或⽂件夹:locate 可在搜索前更新updatedb8.重启PHP服务:service php-fpm restart重启nginx:service nginx restart(关闭nginx -s stop)执⾏nginx -c /usr/local/nginx/conf/9.删除⽂件:rm -rf 如果出错则进⼊该⽬录执⾏:执⾏⼀下 lsattr -a 查看所有⽂件(包含隐藏的),然后执⾏ chattr -i .改变此⽂件的权限10.添加⽂件三种⽅式:vim 或者:touch (创建空⽂件)或者:echo ‘’ | cat > (创建空⽂件)创建⽂件夹:mkdir ts修改⽂件夹权限:chmod -R 777 ts 或者 进⼊⽂件夹中:chmod -R 777 *11.查询某个端⼝是否被占⽤:lsof -i :9501 如果有php进程存在说明被占⽤。杀死该端⼝:kill -9 5991(进程标识符)查询所有正在监听运⾏的端⼝:( tcp端⼝:netstat -ntpl ) ( udp端⼝:netstat -nupl )12.查看⽂件:⼀:cat -n :查看⼩⽂件(⾏数⼩于1000⾏以下的)⽤cat -n /www/server/php/72/etc/⼆:more :查看⼤⽂件(⾏数⼏千⾏)⽤more /www/server/php/72/etc/ 回车看下⼀⾏,空格看下⼀屏幕, Q退出,B 上⼀屏。三:less:配合 [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件四:tail -f 可以查看⽂件最后增加的内容五:head -n 20 /www/server/php/72/etc/ 显⽰前20条13.查找⽂件中的关键字 :进⼊⽂件 vim /www/server/php/72/etc/ 然后/swoole(关键字) 即可14.保存⽂件::wq 保存编辑的⽂件 (卡死时调⽤ctrl+Q , ctrl+w是撤回输⼊):q! 为不保存⽂件15.查看所有⽤户:cat /etc/passwd 显⽰的信息是:⽤户:密码 :uid:gid:说明:家⽬录:⽤户使⽤的shell添加⽤户:useradd ⽤户名删除⽤户:userdel ⽤户名16.查看登陆⽇志 last -9清除登陆系统成功的记录: echo > /var/log/wtmp //此⽂件默认打开时乱码,可查到ip等信息17.修改⽤户密码:在root账号下passwd +⽤户账号 如:passwd zhou .修改root密码直接passwd18.查看某个软件是否安装:rpm -qa | grep logwatch或者 yum list installed(或者logwatch)两者都没有说明没有安装19.查看进程:四种任选其中⼀种topps auxps -elfpstree -aup[/b]

find 基本语法参数如下:find [PATH] [option] [action]# 与时间有关的参数:-mtime n : n为数字,意思为在n天之前的“⼀天内”被更改过的⽂件;-mtime +n : 列出在n天之前(不含n天本⾝)被更改过的⽂件名;-mtime -n : 列出在n天之内(含n天本⾝)被更改过的⽂件名;-newer file : 列出⽐file还要新的⽂件名# 例如:find /root -mtime 0 # 在当前⽬录下查找今天之内有改动的⽂件# 与⽤户或⽤户组名有关的参数:-user name : 列出⽂件所有者为name的⽂件-group name : 列出⽂件所属⽤户组为name的⽂件-uid n : 列出⽂件所有者为⽤户ID为n的⽂件-gid n : 列出⽂件所属⽤户组为⽤户组ID为n的⽂件# 例如:find /home/hadoop -user hadoop # 在⽬录/home/hadoop中找出所有者为hadoop的⽂件# 与⽂件权限及名称有关的参数:-name filename :找出⽂件名为filename的⽂件-size [+-]SIZE :找出⽐SIZE还要⼤(+)或⼩(-)的⽂件-tpye TYPE :查找⽂件的类型为TYPE的⽂件,TYPE的值主要有:⼀般⽂件(f)、设备⽂件(b、c)、⽬录(d)、连接⽂件(l)、socket(s)、FIFO管道⽂件(p);-perm mode :查找⽂件权限刚好等于mode的⽂件,mode⽤数字表⽰,如0755;-perm -mode :查找⽂件权限必须要全部包括mode权限的⽂件,mode⽤数字表⽰-perm +mode :查找⽂件权限包含任⼀mode的权限的⽂件,mode⽤数字表⽰# 例如:find / -name passwd # 查找⽂件名为passwd的⽂件find . -perm 0755 # 查找当前⽬录中⽂件权限的0755的⽂件find . -size +12k # 查找当前⽬录中⼤于12KB的⽂件,注意c表⽰byte

2. ls 命令,展⽰⽂件夹内内容,参数如下:-a :全部的档案,连同隐藏档( 开头为 . 的档案) ⼀起列出来~

-A :全部的档案,连同隐藏档,但不包括 . 与 .. 这两个⽬录,⼀起列出来~

-d :仅列出⽬录本⾝,⽽不是列出⽬录内的档案数据

-f :直接列出结果,⽽不进⾏排序 (ls 预设会以档名排序!)

-F :根据档案、⽬录等信息,给予附加数据结构,例如:

*:代表可执⾏档; /:代表⽬录; =:代表 socket 档案; |:代表 FIFO 档案;

-h :将档案容量以⼈类较易读的⽅式(例如 GB, KB 等等)列出来;

-i :列出 inode 位置,⽽⾮列出档案属性;

-l :长数据串⾏出,包含档案的属性等等数据;

-n :列出 UID 与 GID ⽽⾮使⽤者与群组的名称 (UID与GID会在账号管理提到!)

-r :将排序结果反向输出,例如:原本档名由⼩到⼤,反向则为由⼤到⼩;

-R :连同⼦⽬录内容⼀起列出来;

-S :以档案容量⼤⼩排序!

-t :依时间排序

--color=never :不要依据档案特性给予颜⾊显⽰;

--color=always :显⽰颜⾊

--color=auto :让系统⾃⾏依据设定来判断是否给予颜⾊

--full-time :以完整时间模式 (包含年、⽉、⽇、时、分) 输出

--time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime)

⽽⾮内容变更时间 (modification time) 例如:ls [-aAdfFhilRS] ⽬录名称 ls [--color={none,auto,always}] ⽬录名称 ls [--full-time] ⽬录名称

3. cd 命令:cd /root/Docements # 切换到⽬录/root/Docementscd ./path # 切换到当前⽬录下的path⽬录中,“.”表⽰当前⽬录

cd ../path # 切换到上层⽬录中的path⽬录中,“..”表⽰上⼀层⽬录

4. tree命令,显⽰树形的层级⽬录结构,⾮原⽣命令,需要安装tree使⽤⽰例:

5. cp 命令,作⽤复制,参数如下:-a :将⽂件的特性⼀起复制-p :连同⽂件的属性⼀起复制,⽽⾮使⽤默认⽅式,与-a相似,常⽤于备份-i :若⽬标⽂件已经存在时,在覆盖时会先询问操作的进⾏-r :递归持续复制,⽤于⽬录的复制⾏为-u :⽬标⽂件与源⽂件有差异时才会复制

6. rm命令作⽤为删除,参数:-f :就是force的意思,忽略不存在的⽂件,不会出现警告消息-i :互动模式,在删除前会询问⽤户是否操作-r :递归删除,最常⽤于⽬录删除,它是⼀个⾮常危险的参数

7. mv命令作⽤为移动⽂件:-f :force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖-i :若⽬标⽂件已经存在,就会询问是否覆盖-u :若⽬标⽂件已经存在,且⽐⽬标⽂件新,才会更新

8. pwd命令,作⽤为查看”当前⼯作⽬录“的完整路径pwd -P # 显⽰出实际路径,⽽⾮使⽤连接(link)路径;pwd显⽰的是连接路径

9. tar命令,⽤于压缩解压:-c :新建打包⽂件-t :查看打包⽂件的内容含有哪些⽂件名-x :解打包或解压缩的功能,可以搭配-C(⼤写)指定解压的⽬录,注意-c,-t,-x不能同时出现在同⼀条命令中-j :通过bzip2的⽀持进⾏压缩/解压缩-z :通过gzip的⽀持进⾏压缩/解压缩-v :在压缩/解压缩过程中,将正在处理的⽂件名显⽰出来-f filename :filename为要处理的⽂件-C dir :指定压缩/解压缩的⽬录dir压缩:tar -jcv -f 2 要被处理的⽂件或⽬录名称查询:tar -jtv -f 2解压:tar -jxv -f 2 -C 欲解压缩的⽬录10. mkdir命令创建⽬录:mkdir [选项]... ⽬录...

-m, --mode=模式,设定权限<模式> (类似 chmod),⽽不是 rwxrwxrwx 减 umask -p, --parents 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录;

-v, --verbose 每次创建新⽬录都显⽰信息

11. rmdir 命令删除⽬录:rmdir [选项]... ⽬录...-p 递归删除⽬录dirname,当⼦⽬录删除后其⽗⽬录为空时,也⼀同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显⽰相应的信息。

-v --verbose 显⽰指令执⾏过程

12. gzip 命令压缩⽂件或⽂件夹为 .gz⽂件:gzip[参数][⽂件或者⽬录]-a or --ascii  使⽤ASCII⽂字模式。

-c or --stdout or --to-stdout  把压缩后的⽂件输出到标准输出设备,不去更动原始⽂件。

-d or --decompress or ----uncompress  解开压缩⽂件。

-f or --force  强⾏压缩⽂件。不理会⽂件名称 or 硬连接是否存在以及该⽂件是否为符号连接。

-h or --help  在线帮助。

-l or --list  列出压缩⽂件的相关信息。

-L or --license  显⽰版本与版权信息。

-n or --no-name  压缩⽂件时,不保存原来的⽂件名称及时间戳记。

-N or --name  压缩⽂件时,保存原来的⽂件名称及时间戳记。

-q or --quiet  不显⽰警告信息。

-r or --recursive  递归处理,将指定⽬录下的所有⽂件及⼦⽬录⼀并处理。

-S<压缩字尾字符串> or ----suffix<压缩字尾字符串>  更改压缩字尾字符串。

-t or --test  测试压缩⽂件是否正确⽆误。

-v or --verbose  显⽰指令执⾏过程。

-V or --version  显⽰版本信息。

-num ⽤指定的数字num调整压缩的速度,-1 or --fast表⽰最快压缩⽅法(低压缩⽐),-9 or --best表⽰最慢压缩⽅法(⾼压缩⽐)。系统缺省值为6。

⼆. 进程相关命令:13. ps 命令显⽰运⾏的进程,还会显⽰进程的⼀些信息如pid, cpu和内存使⽤情况等:-A :所有的进程均显⽰出来-a :不与terminal有关的所有进程-u :有效⽤户的相关进程-x :⼀般与a参数⼀起使⽤,可列出较完整的信息-l :较长,较详细地将PID的信息列出

14. kill 命令⽤于终⽌进程,参数:kill -signal PID1:SIGHUP,启动被终⽌的进程2:SIGINT,相当于输⼊ctrl+c,中断⼀个程序的进⾏9:SIGKILL,强制中断⼀个进程的进⾏15:SIGTERM,以正常的结束进程⽅式来终⽌进程17:SIGSTOP,相当于输⼊ctrl+z,暂停⼀个进程的进⾏

15. killall 命令和参数:killall [-iIe] [command name]-i :交互式的意思,若需要删除时,会询问⽤户-e :表⽰后⾯接的command name要⼀致,但command name不能超过15个字符-I :命令名称忽略⼤⼩写# 例如:killall -SIGHUP syslogd # 重新启动syslogd

16. crontab命令是启动linux定时任务的服务service cron start # 启动cronjobservice cron stop # 停⽌cronjobservice cron restart # 重启cronjobcrontab -e # 编辑cronjob任务

17. free 命令⽤于显⽰Linux系统中空闲的、已⽤的物理内存及swap内存,及被内核使⽤的buffer:free [参数]-b  以Byte为单位显⽰内存使⽤情况。

-k  以KB为单位显⽰内存使⽤情况。

-m  以MB为单位显⽰内存使⽤情况。-g 以GB为单位显⽰内存使⽤情况。

-o  不显⽰缓冲区调节列。

-s<间隔秒数>  持续观察内存使⽤状况。

-t  显⽰内存总和列。

-V  显⽰版本信息。

18. top 命令是Linux下常⽤的性能分析⼯具,能够实时显⽰系统中各个进程的资源占⽤状况,类似于Windows的任务管理器:top [参数]-b 批处理-c 显⽰完整的治命令-I 忽略失效过程-s 保密模式-S 累积模式-i<时间> 设置间隔时间-u<⽤户名> 指定⽤户名-p<进程号> 指定进程-n<次数> 循环显⽰的次数

三. 权限相关命令:19. chmod命令:chmod [-R] xyz ⽂件或⽬录-R:进⾏递归的持续更改,即连同⼦⽬录下的所有⽂件都会更改#同时,chmod还可以使⽤u(user)、g(group)、o(other)、a(all)和+(加⼊)、-(删除)、=(设置)跟rwx搭配来对⽂件的权限进⾏更改,编号是各种权限的数字代码,⽰例:chmod 0755 file # 把file的⽂件权限改变为-rxwr-xr-xchmod g+w file # 向file的⽂件权限中加⼊⽤户组可写权限

20. chown命令改变⽂件所有者:chown [para]... [owner][:[group]] -c 显⽰更改的部分的信息 -f 忽略错误信息 -h 修复符号链接 -R 处理指定⽬录以及其⼦⽬录下的所有⽂件 -v 显⽰详细的处理信息 -deference 作⽤于符号链接的指向,⽽不是链接⽂件本⾝

21. chgrp命令,改变⽂件所属组:-c 当发⽣改变时输出调试信息-f 不显⽰错误信息-R 处理指定⽬录以及其⼦⽬录下的所有⽂件-v 运⾏时显⽰详细的处理信息--dereference 作⽤于符号链接的指向,⽽不是符号链接本⾝--no-dereference 作⽤于符号链接本⾝

22. useradd 命令建⽴⽤户账号:useradd [-mMnr][-c <备注>][-d <登⼊⽬录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][⽤户帐号]-c #<备注>  加上备注⽂字。备注⽂字会保存在passwd的备注栏位中。   -d #<登⼊⽬录>  指定⽤户登⼊时的启始⽬录。  -D # 变更预设值.  -e # <有效期限>  指定帐号的有效期限。  -f # <缓冲天数>  指定在密码过期后多少天即关闭该帐号。  -g # <群组>  指定⽤户所属的群组。  -G # <群组>  指定⽤户所属的附加群组。  -m # ⾃动建⽴⽤户的登⼊⽬录。  -M # 不要⾃动建⽴⽤户的登⼊⽬录。  -n # 取消建⽴以⽤户名称为名的群组.  -r # 建⽴系统帐号。  -s # 指定⽤户登⼊后所使⽤的shell。  -u # 指定⽤户ID。

23. usermod 修改⽤户信息:usermod -husermod [options] LOGIN -c #后⾯接账号的说明,即/etc/passwd第五栏的说明栏,可以加⼊⼀些账号的说明 -d #后⾯接账号的家⽬录,即修改/etc/passwd的第六栏 -e #后⾯接⽇期,格式是YYYY-MM-DD也就是在/etc/shadow内的第⼋栏 -f #后⾯接天数,修改shadow的第七栏 -g #后⾯接主群组,修改/etc/passwd的第四个字段,即是GID的字段 -G #后⾯接附加群组,修改这个使⽤者能够⽀持的群组,修改的是/etc/group -a #与 -G 合⽤,可增加附加群组的⽀持⽽⾮设定 -l #后⾯接账号名称。修改账号名称,/etc/passwd的第⼀栏 -s #后⾯接Shell的⽂件,例如/bin/bash或/bin/csh等等 -u #后⾯接 UID 数字,修改⽤户的UID/etc/passwd第三栏 -L #暂时将⽤户的密码冻结,让他⽆法登⼊。其实就是在/etc/shadow的密码栏前⾯加上了“!” -U #将/etc/shadow 密码栏的“!”去掉

24. userdel 删除⽤户:userdel [options] LOGIN-f # 强制删除,包括⽤户的⼀切相关内容,这个参数是危险的参数,不建议⼤家使⽤。详细说明看MAN-r # 删除⽤户的家⽬录和⽤户的邮件池

25. groupadd 命令⽤于将新组加⼊系统:groupadd [-g gid] [-o]] [-r] [-f] groupname-g gid:指定组ID号。-o:允许组ID号,不必惟⼀。-r:加⼊组ID号,低于499系统账号。-f:加⼊已经有的组时,发展程序退出。

26. groupdel 命令删除组:# ⽤于删除不再需要的组,如果指定的组中包含⽤户,则必须先删除组⾥⾯的⽤户>以后,才能删除组groupdel [options] GROUP

27. sudo ⽤来以其他⾝份来执⾏命令,预设的⾝份为root:sudo(选项)(参数)-b:在后台执⾏指令;-h:显⽰帮助;-H:将HOME环境变量设为新⾝份的HOME环境变量;-k:结束密码的有效期限,也就是下次再执⾏sudo时便需要输⼊密码;。-l:列出⽬前⽤户可执⾏与⽆法执⾏的指令;-p:改变询问密码的提⽰符号;-s:执⾏指定的shell;-u<⽤户>:以指定的⽤户作为新的⾝份。若不加上此参数,则预设以root作为新的⾝份;-v:延长密码有效期限5分钟;-V :显⽰版本信息。

28. passwd 设置⽤户的密码:passwd [] -k, --keep-tokens keep non-expired authentication tokens-d, --delete delete the password for the named account (root only)-l, --lock lock the named account (root only)-u, --unlock unlock the named account (root only)-f, --force force operation-x, --maximum=DAYS maximum password lifetime (root only)-n, --minimum=DAYS minimum password lifetime (root only)-w, --warning=DAYS number of days warning users receives before password expiration (root only)-i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only)-S, --status report password status on the named account (root)

  29. groups 显⽰⽤户所属组:groups # 默认显⽰当前⽤户的组groups hadoop2 # 显⽰hadoop2⽤户的组

四. ⽂本查看编辑等命令30. vi/vim 是使⽤vi编辑器的命令:vi /var/log/ # 打开 /var/log/⽂件并编辑

vi的操作命令⽐较复杂,就不在这⾥详细展开了。

31. cat ⽤途是连接⽂件或标准输⼊并打印。这个命令常⽤来显⽰⽂件内容,或者将⼏个⽂件连接起来显⽰,或者从标准输⼊读取内容并显⽰,它常与重定向符号配合使⽤。

cat [选项] [⽂件]...-A, --show-all 等价于 -vET-b, --number-nonblank 对⾮空输出⾏编号-e 等价于 -vE-E, --show-ends 在每⾏结束处显⽰ $-n, --number 对输出的所有⾏编号,由1开始对所有输出的⾏数编号-s, --squeeze-blank 有连续两⾏以上的空⽩⾏,就代换为⼀⾏的空⽩⾏

-t 与 -vT 等价-T, --show-tabs 将跳格字符显⽰为 ^I-u (被忽略)-v, --show-nonprinting 使⽤ ^ 和 M- 引⽤,除了 LFD 和 TAB 之外

32. more 命令和cat的功能⼀样都是查看⽂件⾥的内容,但有所不同的是more可以按页来查看⽂件的内容,还⽀持直接跳转⾏等功能:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

命令参数:+n 从笫n⾏开始显⽰-n 定义屏幕⼤⼩为n⾏+/pattern 在每个档案显⽰前搜寻该字串(pattern),然后从该字串前两⾏之后开始显⽰

-c 从顶部清屏,然后显⽰-d 提⽰“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁⽤响铃功能-l 忽略Ctrl+l(换页)字符-p 通过清除窗⼝⽽不是滚屏来对⽂件进⾏换页,与-c选项相似-s 把连续的多个空⾏显⽰为⼀⾏-u 把⽂件内容中的下画线去掉常⽤操作命令:Enter 向下n⾏,需要定义。默认为1⾏Ctrl+F 向下滚动⼀屏空格键 向下滚动⼀屏Ctrl+B 返回上⼀屏= 输出当前⾏的⾏号:f 输出⽂件名和当前⾏的⾏号V 调⽤vi编辑器!命令 调⽤Shell,并执⾏命令

q 退出more

33. less 命令⽤法⽐起 more 更加的有弹性。在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看,但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内容!除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。less [参数] ⽂件

-b <缓冲区⼤⼩> 设置缓冲区的⼤⼩-e 当⽂件显⽰结束后,⾃动离开-f 强迫打开特殊⽂件,例如外围设备代号、⽬录和⼆进制⽂件-g 只标志最后搜索的关键词-i 忽略搜索时的⼤⼩写-m 显⽰类似more命令的百分⽐-N 显⽰每⾏的⾏号-o <⽂件名> 将less 输出的内容在指定⽂件中保存起来-Q 不使⽤警告⾳-s 显⽰连续空⾏为⼀⾏-S ⾏过长时间将超出部分舍弃-x <数字> 将“tab”键显⽰为规定的数字空格/字符串:向下搜索“字符串”的功能字符串:向上搜索“字符串”的功能n:重复前⼀个搜索(与 / 或 ? 有关)N:反向重复前⼀个搜索(与 / 或 ? 有关)b 向后翻⼀页d 向后翻半页h 显⽰帮助界⾯Q 退出less 命令u 向前滚动半页y 向前滚动⼀⾏空格键 滚动⼀⾏回车键 滚动⼀页[pagedown]: 向下翻动⼀页[pageup]: 向上翻动⼀页

34. tail 命令#从指定点开始将⽂件写到标准输出.使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂件,tail -f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不但刷新,使你看到最新的⽂件内容. tail[必要参数][选择参数][⽂件]-f 循环读取-q 不显⽰处理信息-v 显⽰详细的处理信息-c<数⽬> 显⽰的字节数-n<⾏数> 显⽰⾏数--pid=PID 与-f合⽤,表⽰在进程ID,PID死掉之后结束.

-q, --quiet, --silent 从不输出给出⽂件名的⾸部

-s, --sleep-interval=S 与-f合⽤,表⽰在每次反复的间隔休眠S秒

35. head 命令⽤于显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏:  head [参数]... [⽂件]...

-q 隐藏⽂件名-v 显⽰⽂件名-c<字节> 显⽰字节数-n<⾏数> 显⽰的⾏数

36. diff 命令⽤于⽐较两个⽂件或⽬录的不同:diff[参数][⽂件1或⽬录1][⽂件2或⽬录2]# diff命令能⽐较单个⽂件或者⽬录内容。如果指定⽐较的是⽂件,则只有当输⼊为⽂本⽂件时才有效。以逐⾏的⽅式,⽐较⽂本⽂件的异同处。如果指定⽐较的是⽬录的的时候,diff 命令会⽐较两个⽬录下名字相同的# ⽂本⽂件。列出不同的⼆进制⽂件、公共⼦⽬录和只在⼀个⽬录出现的⽂件。-a or --text  #diff预设只会逐⾏⽐较⽂本⽂件。-b or --ignore-space-change  #不检查空格字符的不同。-B or --ignore-blank-lines  #不检查空⽩⾏。-c  #显⽰全部内⽂,并标出不同之处。-C or --context  #与执⾏"-c-"指令相同。-d or --minimal  #使⽤不同的演算法,以较⼩的单位来做⽐较。-D or ifdef  #此参数的输出格式可⽤于前置处理器巨集。-e or --ed  #此参数的输出格式可⽤于ed的script⽂件。-f or -forward-ed  #输出的格式类似ed的script⽂件,但按照原来⽂件的顺序来显⽰不同处。-H or --speed-large-files  #⽐较⼤⽂件时,可加快速度。-l or --ignore-matching-lines  #若两个⽂件在某⼏⾏有所不同,⽽这⼏⾏同时都包含了选项中指定的字符 or 字符串,则不显⽰这两个⽂件的差异。-i or --ignore-case  #不检查⼤⼩写的不同。-l or --paginate  #将结果交由pr程序来分页。-n or --rcs  #将⽐较结果以RCS的格式来显⽰。-N or --new-file  #在⽐较⽬录时,若⽂件A仅出现在某个⽬录中,预设会显⽰:Only in⽬录:⽂件A若使⽤-N参数,则diff会将⽂件A与⼀个空⽩的⽂件⽐较。-p  #若⽐较的⽂件为C语⾔的程序码⽂件时,显⽰差异所在的函数名称。-P or --unidirectional-new-file  #与-N类似,但只有当第⼆个⽬录包含了⼀个第⼀个⽬录所没有的⽂件时,才会将这个⽂件与空⽩的⽂件做⽐较。-q or --brief  #仅显⽰有⽆差异,不显⽰详细的信息。-r or --recursive  #⽐较⼦⽬录中的⽂件。-s or --report-identical-files  #若没有发现任何差异,仍然显⽰信息。-S or --starting-file  #在⽐较⽬录时,从指定的⽂件开始⽐较。-t or --expand-tabs  #在输出时,将tab字符展开。-T or --initial-tab  #在每⾏前⾯加上tab字符以便对齐。-u,-U or --unified=  #以合并的⽅式来显⽰⽂件内容的不同。-v or --version  #显⽰版本信息。-w or --ignore-all-space  #忽略全部的空格字符。-W or --width  #在使⽤-y参数时,指定栏宽。-x or --exclude  #不⽐较选项中所指定的⽂件 or ⽬录。-X or --exclude-from  #您可以将⽂件 or ⽬录类型存成⽂本⽂件,然后在=中指定此⽂本⽂件。-y or --side-by-side  #以并列的⽅式显⽰⽂件的异同之处。

⽹络相关命令:37. ping ⽤于确定主机与外部连接状态:ping [参数] [主机名或IP地址]-d 使⽤Socket的SO_DEBUG功能。-f 极限检测。⼤量且快速地送⽹络封包给⼀台机器,看它的回应。-n 只输出数值。-q 不显⽰任何传送封包的信息,只显⽰最后的结果。-r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的⽹络接⼝是否有问题。-R 记录路由过程。-v 详细显⽰指令的执⾏过程。

-c 数⽬:在发送指定数⽬的包后停⽌。-i 秒数:设定间隔⼏秒送⼀个⽹络封包给⼀台机器,预设值是⼀秒送⼀次。-I ⽹络界⾯:使⽤指定的⽹络界⾯送出数据包。-l 前置载⼊:设置在送出要求信息之前,先⾏发出的数据包。-p 范本样式:设置填满数据包的范本样式。-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,⼀共是64ICMP数据字节。-t 存活数值:设置存活数值TTL的⼤⼩。

38. ssh 命令⽤于远程登录上Linux主机:ssh [-l login_name] [-p port] [user@]hostname

39. scp 命令是secure copy的简写,⽤于在Linux下进⾏远程拷贝⽂件的命令,和它类似的命令有cp,不过cp只是在本机进⾏拷贝不能跨服务器,⽽且scp传输是加密的:scp [参数] [原路径] [⽬标路径]-1 强制scp命令使⽤协议ssh1

-2 强制scp命令使⽤协议ssh2

-4 强制scp命令只使⽤IPv4寻址

-6 强制scp命令只使⽤IPv6寻址

-B 使⽤批处理模式(传输过程中不询问传输⼝令或短语)

-C 允许压缩。(将-C标志传递给ssh,从⽽打开压缩功能)

-p 保留原⽂件的修改时间,访问时间和访问权限。

-q 不显⽰传输进度条。

-r 递归复制整个⽬录。

-v 详细⽅式显⽰输出。scp和ssh(1)会显⽰出整个过程的调试信息。这些信息⽤于调试连接,验证和配置问题。

-c cipher 以cipher将数据传输进⾏加密,这个选项将直接传递给ssh。

-F ssh_config 指定⼀个替代的ssh配置⽂件,此参数直接传递给ssh。

-i identity_file 从指定⽂件中读取传输时使⽤的密钥⽂件,此参数直接传递给ssh。

-l limit 限定⽤户所能使⽤的带宽,以Kbit/s为单位。

-o ssh_option 如果习惯于使⽤ssh_config(5)中的参数传递⽅式,

-P port 注意是⼤写的P, port是指定数据传输⽤到的端⼝号

-S program 指定加密传输时所使⽤的程序。此程序必须能够理解ssh(1)的选项。

40. telnet 命令⽤来远程登录操作:telnet[参数][主机]-8 允许使⽤8位字符资料,包括输⼊与输出。-a 尝试⾃动登⼊远端系统。-b<主机别名> 使⽤别名指定远端主机名称。-c 不读取⽤户专属⽬录⾥的.telnetrc⽂件。-d 启动排错模式。-e<脱离字符> 设置脱离字符。-E 滤除脱离字符。-f 此参数的效果和指定"-F"参数相同。-F 使⽤Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。-k<域名> 使⽤Kerberos认证时,加上此参数让远端主机采⽤指定的领域名,⽽⾮该主机的域名。-K 不⾃动登⼊远端主机。-l<⽤户名称> 指定要登⼊远端主机的⽤户名称。-L 允许输出8位字符资料。-n<记录⽂件> 指定⽂件记录相关信息。-r 使⽤类似rlogin指令的⽤户界⾯。-S<服务类型> 设置telnet连线所需的IP TOS信息。-x 假设主机有⽀持数据加密的功能,就使⽤它。-X<认证形态> 关闭指定的认证形态。

41. wget 是从远程下载的⼯具:wget [参数] [URL地址]启动参数:-V, –version 显⽰wget的版本后退出-h, –help 打印语法帮助-b, –background 启动后转⼊后台执⾏-e, –execute=COMMAND 执⾏`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc记录和输⼊⽂件参数:-o, –output-file=FILE 把记录写到FILE⽂件中-a, –append-output=FILE 把记录追加到FILE⽂件中-d, –debug 打印调试输出-q, –quiet 安静模式(没有输出)-v, –verbose 冗长模式(这是缺省设置)-nv, –non-verbose 关掉冗长模式,但不是安静模式-i, –input-file=FILE 下载在FILE⽂件中出现的URLs-F, –force-html 把输⼊⽂件当作HTML格式⽂件对待-B, –base=URL 将URL作为在-F -i参数指定的⽂件中出现的相对链接的前缀–sslcertfile=FILE 可选客户端证书–sslcertkey=KEYFILE 可选客户端证书的KEYFILE–egd-file=FILE 指定EGD socket的⽂件名下载参数:–bind-address=ADDRESS 指定本地使⽤地址(主机名或IP,当本地有多个IP或名字时使⽤)-t, –tries=NUMBER 设定最⼤尝试链接次数(0 表⽰⽆限制).-O –output-document=FILE 把⽂档写到FILE⽂件中-nc, –no-clobber 不要覆盖存在的⽂件或使⽤.#前缀-c, –continue 接着下载没下载完的⽂件–progress=TYPE 设定进程条标记-N, –timestamping 不要重新下载⽂件除⾮⽐本地⽂件新-S, –server-response 打印服务器的回应–spider 不下载任何东西-T, –timeout=SECONDS 设定响应超时的秒数-w, –wait=SECONDS 两次尝试之间间隔SECONDS秒–waitretry=SECONDS 在重新链接之间等待1…SECONDS秒–random-wait 在下载之间等待0…2*WAIT秒-Y, –proxy=on/off 打开或关闭代理-Q, –quota=NUMBER 设置下载的容量限制–limit-rate=RATE 限定下载输率⽬录参数:-nd –no-directories 不创建⽬录-x, –force-directories 强制创建⽬录-nH, –no-host-directories 不创建主机⽬录-P, –directory-prefix=PREFIX 将⽂件保存到⽬录 PREFIX/…–cut-dirs=NUMBER 忽略 NUMBER层远程⽬录HTTP 选项参数:–http-user=USER 设定HTTP⽤户名为 USER.–http-passwd=PASS 设定http密码为 PASS-C, –cache=on/off 允许/不允许服务器端的数据缓存 (⼀般情况下允许)-E, –html-extension 将所有text/html⽂档以.html扩展名保存–ignore-length 忽略 `Content-Length’头域–header=STRING 在headers中插⼊字符串 STRING–proxy-user=USER 设定代理的⽤户名为 USER–proxy-passwd=PASS 设定代理的密码为 PASS–referer=URL 在HTTP请求中包含 `Referer: URL’头-s, –save-headers 保存HTTP头到⽂件-U, –user-agent=AGENT 设定代理的名称为 AGENT⽽不是 Wget/VERSION–no-http-keep-alive 关闭 HTTP活动链接 (永远链接)–cookies=off 不使⽤ cookies–load-cookies=FILE 在开始会话前从⽂件 FILE中加载cookie–save-cookies=FILE 在会话结束后将 cookies保存到 FILE⽂件中FTP 选项参数:-nr, –dont-remove-listing 不移⾛ `.listing’⽂件-g, –glob=on/off 打开或关闭⽂件名的 globbing机制–passive-ftp 使⽤被动传输模式 (缺省值).–active-ftp 使⽤主动传输模式–retr-symlinks 在递归的时候,将链接指向⽂件(⽽不是⽬录)递归下载参数:-r, –recursive 递归下载--慎⽤!-l, –level=NUMBER 最⼤递归深度 (inf 或 0 代表⽆穷)–delete-after 在现在完毕后局部删除⽂件-k, –convert-links 转换⾮相对链接为相对链接-K, –backup-converted 在转换⽂件X之前,将之备份为 -m, –mirror 等价于 -r -N -l inf -nr-p, –page-requisites 下载显⽰HTML⽂件的所有图⽚递归下载中的包含和不包含(accept/reject):-A, –accept=LIST 分号分隔的被接受扩展名的列表-R, –reject=LIST 分号分隔的不被接受的扩展名的列表-D, –domains=LIST 分号分隔的被接受域的列表–exclude-domains=LIST 分号分隔的不被接受的域的列表–follow-ftp 跟踪HTML⽂档中的FTP链接–follow-tags=LIST 分号分隔的被跟踪的HTML标签的列表-G, –ignore-tags=LIST 分号分隔的被忽略的HTML标签的列表-H, –span-hosts 当递归时转到外部主机-L, –relative 仅仅跟踪相对链接-I, –include-directories=LIST 允许⽬录的列表-X, –exclude-directories=LIST 不被包含⽬录的列表-np, –no-parent 不要追溯到⽗⽬录wget -S –spider url 不下载只显⽰过程

42. ifconfig 命令⽤来查看和配置⽹络设备。当⽹络环境发⽣改变时可通过此命令对⽹络进⾏相应的配置:ifconfig [⽹络设备] [参数]up 启动指定⽹络设备/⽹卡。down 关闭指定⽹络设备/⽹卡。该参数可以有效地阻⽌通过指定接⼝的IP信息流,如果想永久地关闭⼀个接⼝,我们还需要从核⼼路由表中将该接⼝的路由信息全部删除。arp 设置指定⽹卡是否⽀持ARP协议。-promisc 设置是否⽀持⽹卡的promiscuous模式,如果选择此参数,⽹卡将接收⽹络中发给它所有的数据包-allmulti 设置是否⽀持多播模式,如果选择此参数,⽹卡将接收⽹络中所有的多播数据包-a 显⽰全部接⼝信息-s 显⽰摘要信息(类似于 netstat -i)add 给指定⽹卡配置IPv6地址del 删除指定⽹卡的IPv6地址<硬件地址> 配置⽹卡最⼤的传输单元mtu<字节数> 设置⽹卡的最⼤传输单元 (bytes)netmask<⼦⽹掩码> 设置⽹卡的⼦⽹掩码。掩码可以是有前缀0x的32位⼗六进制数,也可以是⽤点分开的4个⼗进制数。如果不打算将⽹络分成⼦⽹,可以不管这⼀选项;如果要使⽤⼦⽹,那么请记住,⽹络中每⼀个系统必须有相同⼦⽹掩码。tunel 建⽴隧道dstaddr 设定⼀个远端地址,建⽴点对点通信-broadcast<地址> 为指定⽹卡设置⼴播协议-pointtopoint<地址> 为⽹卡设置点对点通讯协议multicast 为⽹卡设置组播标志address 为⽹卡设置IPv4地址txqueuelen<长度> 为⽹卡设置传输列队的长度

43. routeroute [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]

-c # 显⽰更多信息-n # 不解析名字-v # 显⽰详细的处理信息-F # 显⽰发送信息-C # 显⽰路由缓存-f # 清除所有⽹关⼊⼝的路由表。

-p # 与 add 命令⼀起使⽤时使路由具有永久性。

五. 搜索⽂件:44. whereis 命令:# whereis命令只能⽤于程序名的搜索,⽽且只搜索⼆进制⽂件(参数-b)、man说明⽂件(参数-m)和源代码⽂件(参数-s)。如果省略参数,则返回所有信息。和find相⽐,whereis查找的速度⾮常快,这是因为linux系统会将 系统内的所有⽂件都记录在⼀个数据库⽂件中,当使⽤whereis和locate时,会从数据库中查找数据,⽽不是像find命令那样,通过遍历硬盘来查找,效率⾃然会很⾼。 但是该数据库⽂件并不是实时更新,默认情况下时⼀星期更新⼀次,因此,我们在⽤whereis和locate 查找⽂件时,有时会找到已经被删除的数据,或者刚刚建⽴⽂件,却⽆法查找到,原因就是因为数据库⽂件没有被更新。whereis [-bmsu] [BMS ⽬录名 -f ] ⽂件名 -b 定位可执⾏⽂件。 -m 定位帮助⽂件。 -s 定位源代码⽂件。 -u 搜索默认路径下除可执⾏⽂件、源代码⽂件、帮助⽂件以外的其它⽂件。 -B指定搜索可执⾏⽂件的路径。 -M 指定搜索帮助⽂件的路径。 -S 指定搜索源代码⽂件的路径。

45. locate 命令# locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建⽴的,locate命令在搜寻数据库时⽐由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建⽴或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑⼀次,可以由修改crontab来更新设定值。(etc/crontab)Locate [选择参数] [样式]-e 将排除在寻找的范围之外。-1 如果 是 1.则启动安全模式。在安全模式下,使⽤者不会看到权限⽆法看到 的档案。这会始速度减慢,因为 locate 必须⾄实际的档案系统中取得档案的 权限资料。-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。-q 安静模式,不会显⽰任何错误讯息。-n ⾄多显⽰ n个输出。-r 使⽤正规运算式 做寻找的条件。-o 指定资料库存的名称。-d 指定资料库的路径-h 显⽰辅助讯息-V 显⽰程式的版本讯息

46. which 会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第⼀个搜索结果:which 可执⾏⽂件名称

-n  指定⽂件名长度,指定的长度必须⼤于或等于所有⽂件中最长的⽂件名。-p  与-n参数相同,但此处的包括了⽂件的路径。-w  指定输出时栏位的宽度。-V  显⽰版本信息

六. 其他:47. grep命令该命令常⽤于分析⼀⾏的信息,若当中有我们所需要的信息,就将该⾏显⽰出来,该命令通常与管道命令⼀起使⽤,⽤于对⼀些命令的输出进⾏筛选加⼯等等,⽐如可以加在ps, tail, cat后⾯它的简单语法为grep [-acinv] [--color=auto] '查找字符串' filename

48. clear 命令⽤于清除终端屏幕上现有的⽂字内容,将之上滚: 额,这条不需要啥⽰例,⾮常简单...⽤了以后就没有了...

49. date 命令⽤于显⽰或设定时间:date [参数]... [+格式]必要参数:%H ⼩时(以00-23来表⽰)。

%I ⼩时(以01-12来表⽰)。

%K ⼩时(以0-23来表⽰)。

%l ⼩时(以0-12来表⽰)。

%M 分钟(以00-59来表⽰)。

%P AM或PM。

%r 时间(含时分秒,⼩时以12⼩时AM/PM来表⽰)。

%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。

%S 秒(以本地的惯⽤法来表⽰)。

%T 时间(含时分秒,⼩时以24⼩时制来表⽰)。

%X 时间(以本地的惯⽤法来表⽰)。

%Z 市区。

%a 星期的缩写。

%A 星期的完整名称。%b ⽉份英⽂名的缩写。

%B ⽉份的完整英⽂名称。

%c ⽇期与时间。只输⼊date指令也会显⽰同样的结果。

%d ⽇期(以01-31来表⽰)。

%D ⽇期(含年⽉⽇)。 %j 该年中的第⼏天。

%m ⽉份(以01-12来表⽰)。

%U 该年中的周数。

%w 该周的天数,0代表周⽇,1代表周⼀,异词类推。

%x ⽇期(以本地的惯⽤法来表⽰)。

%y 年份(以00-99来表⽰)。

%Y 年份(以四位数来表⽰)。

%n 在显⽰时,插⼊新的⼀⾏。

%t 在显⽰时,插⼊tab。

MM ⽉份(必要)

DD ⽇期(必要)

hh ⼩时(必要)

mm 分钟(必要)ss 秒(选择性)选择参数:-d<字符串>  显⽰字符串所指的⽇期与时间。字符串前后必须加上双引号。

-s<字符串>  根据字符串来设置⽇期与时间。字符串前后必须加上双引号。

-u  显⽰GMT。

50. ln 命令是为某⼀个⽂件在另外⼀个位置建⽴⼀个同步的链接Linux⽂件系统中,有所谓的链接(link),我们可以将其视为档案的别名,⽽链接⼜可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是⼀个档案可以有多个名称,⽽软链接的⽅式则是产⽣⼀个特殊的档案,该档案的内容是指向另⼀个档案的位置。硬链接是存在同⼀个⽂件系统中,⽽软链接却可以跨越不同的⽂件系统。软链接:1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷⽅式2.软链接可以 跨⽂件系统 ,硬链接不可以3.软链接可以对⼀个不存在的⽂件名进⾏链接4.软链接可以对⽬录进⾏链接硬链接:1.硬链接,以⽂件副本的形式存在。但不占⽤实际空间。2.不允许给⽬录创建硬链接3.硬链接只有在同⼀个⽂件系统中才能创建ln [参数][源⽂件或⽬录][⽬标⽂件或⽬录]必要参数:-b 删除,覆盖以前建⽴的链接-d 允许超级⽤户制作⽬录的硬链接-f 强制执⾏-i 交互模式,⽂件存在则提⽰⽤户是否覆盖-n 把符号链接视为⼀般⽬录-s 软链接(符号链接)-v 显⽰详细的处理过程选择参数:-S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”-V “-V<备份⽅式>”或“--version-control=<备份⽅式>”

2023年8月3日发(作者:)

Linux系统常⽤操作命令整理1.查看linux版本:cat /proc/version2.查看Linux版本: uname --all3.查看php版本:php -v查看PHP扩展库: php -m查看MySQL版本: mysql -V查看Nginx版本:nginx -v(或者⼤V)4.查看gcc版本:gcc --version5.查看cmake版本:cmake --version6.查看PHP ini位置:php --ini或者使⽤:locate 或者:find / -name 7.查找⽂件或⽂件夹:locate 可在搜索前更新updatedb8.重启PHP服务:service php-fpm restart重启nginx:service nginx restart(关闭nginx -s stop)执⾏nginx -c /usr/local/nginx/conf/9.删除⽂件:rm -rf 如果出错则进⼊该⽬录执⾏:执⾏⼀下 lsattr -a 查看所有⽂件(包含隐藏的),然后执⾏ chattr -i .改变此⽂件的权限10.添加⽂件三种⽅式:vim 或者:touch (创建空⽂件)或者:echo ‘’ | cat > (创建空⽂件)创建⽂件夹:mkdir ts修改⽂件夹权限:chmod -R 777 ts 或者 进⼊⽂件夹中:chmod -R 777 *11.查询某个端⼝是否被占⽤:lsof -i :9501 如果有php进程存在说明被占⽤。杀死该端⼝:kill -9 5991(进程标识符)查询所有正在监听运⾏的端⼝:( tcp端⼝:netstat -ntpl ) ( udp端⼝:netstat -nupl )12.查看⽂件:⼀:cat -n :查看⼩⽂件(⾏数⼩于1000⾏以下的)⽤cat -n /www/server/php/72/etc/⼆:more :查看⼤⽂件(⾏数⼏千⾏)⽤more /www/server/php/72/etc/ 回车看下⼀⾏,空格看下⼀屏幕, Q退出,B 上⼀屏。三:less:配合 [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件四:tail -f 可以查看⽂件最后增加的内容五:head -n 20 /www/server/php/72/etc/ 显⽰前20条13.查找⽂件中的关键字 :进⼊⽂件 vim /www/server/php/72/etc/ 然后/swoole(关键字) 即可14.保存⽂件::wq 保存编辑的⽂件 (卡死时调⽤ctrl+Q , ctrl+w是撤回输⼊):q! 为不保存⽂件15.查看所有⽤户:cat /etc/passwd 显⽰的信息是:⽤户:密码 :uid:gid:说明:家⽬录:⽤户使⽤的shell添加⽤户:useradd ⽤户名删除⽤户:userdel ⽤户名16.查看登陆⽇志 last -9清除登陆系统成功的记录: echo > /var/log/wtmp //此⽂件默认打开时乱码,可查到ip等信息17.修改⽤户密码:在root账号下passwd +⽤户账号 如:passwd zhou .修改root密码直接passwd18.查看某个软件是否安装:rpm -qa | grep logwatch或者 yum list installed(或者logwatch)两者都没有说明没有安装19.查看进程:四种任选其中⼀种topps auxps -elfpstree -aup[/b]

find 基本语法参数如下:find [PATH] [option] [action]# 与时间有关的参数:-mtime n : n为数字,意思为在n天之前的“⼀天内”被更改过的⽂件;-mtime +n : 列出在n天之前(不含n天本⾝)被更改过的⽂件名;-mtime -n : 列出在n天之内(含n天本⾝)被更改过的⽂件名;-newer file : 列出⽐file还要新的⽂件名# 例如:find /root -mtime 0 # 在当前⽬录下查找今天之内有改动的⽂件# 与⽤户或⽤户组名有关的参数:-user name : 列出⽂件所有者为name的⽂件-group name : 列出⽂件所属⽤户组为name的⽂件-uid n : 列出⽂件所有者为⽤户ID为n的⽂件-gid n : 列出⽂件所属⽤户组为⽤户组ID为n的⽂件# 例如:find /home/hadoop -user hadoop # 在⽬录/home/hadoop中找出所有者为hadoop的⽂件# 与⽂件权限及名称有关的参数:-name filename :找出⽂件名为filename的⽂件-size [+-]SIZE :找出⽐SIZE还要⼤(+)或⼩(-)的⽂件-tpye TYPE :查找⽂件的类型为TYPE的⽂件,TYPE的值主要有:⼀般⽂件(f)、设备⽂件(b、c)、⽬录(d)、连接⽂件(l)、socket(s)、FIFO管道⽂件(p);-perm mode :查找⽂件权限刚好等于mode的⽂件,mode⽤数字表⽰,如0755;-perm -mode :查找⽂件权限必须要全部包括mode权限的⽂件,mode⽤数字表⽰-perm +mode :查找⽂件权限包含任⼀mode的权限的⽂件,mode⽤数字表⽰# 例如:find / -name passwd # 查找⽂件名为passwd的⽂件find . -perm 0755 # 查找当前⽬录中⽂件权限的0755的⽂件find . -size +12k # 查找当前⽬录中⼤于12KB的⽂件,注意c表⽰byte

2. ls 命令,展⽰⽂件夹内内容,参数如下:-a :全部的档案,连同隐藏档( 开头为 . 的档案) ⼀起列出来~

-A :全部的档案,连同隐藏档,但不包括 . 与 .. 这两个⽬录,⼀起列出来~

-d :仅列出⽬录本⾝,⽽不是列出⽬录内的档案数据

-f :直接列出结果,⽽不进⾏排序 (ls 预设会以档名排序!)

-F :根据档案、⽬录等信息,给予附加数据结构,例如:

*:代表可执⾏档; /:代表⽬录; =:代表 socket 档案; |:代表 FIFO 档案;

-h :将档案容量以⼈类较易读的⽅式(例如 GB, KB 等等)列出来;

-i :列出 inode 位置,⽽⾮列出档案属性;

-l :长数据串⾏出,包含档案的属性等等数据;

-n :列出 UID 与 GID ⽽⾮使⽤者与群组的名称 (UID与GID会在账号管理提到!)

-r :将排序结果反向输出,例如:原本档名由⼩到⼤,反向则为由⼤到⼩;

-R :连同⼦⽬录内容⼀起列出来;

-S :以档案容量⼤⼩排序!

-t :依时间排序

--color=never :不要依据档案特性给予颜⾊显⽰;

--color=always :显⽰颜⾊

--color=auto :让系统⾃⾏依据设定来判断是否给予颜⾊

--full-time :以完整时间模式 (包含年、⽉、⽇、时、分) 输出

--time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime)

⽽⾮内容变更时间 (modification time) 例如:ls [-aAdfFhilRS] ⽬录名称 ls [--color={none,auto,always}] ⽬录名称 ls [--full-time] ⽬录名称

3. cd 命令:cd /root/Docements # 切换到⽬录/root/Docementscd ./path # 切换到当前⽬录下的path⽬录中,“.”表⽰当前⽬录

cd ../path # 切换到上层⽬录中的path⽬录中,“..”表⽰上⼀层⽬录

4. tree命令,显⽰树形的层级⽬录结构,⾮原⽣命令,需要安装tree使⽤⽰例:

5. cp 命令,作⽤复制,参数如下:-a :将⽂件的特性⼀起复制-p :连同⽂件的属性⼀起复制,⽽⾮使⽤默认⽅式,与-a相似,常⽤于备份-i :若⽬标⽂件已经存在时,在覆盖时会先询问操作的进⾏-r :递归持续复制,⽤于⽬录的复制⾏为-u :⽬标⽂件与源⽂件有差异时才会复制

6. rm命令作⽤为删除,参数:-f :就是force的意思,忽略不存在的⽂件,不会出现警告消息-i :互动模式,在删除前会询问⽤户是否操作-r :递归删除,最常⽤于⽬录删除,它是⼀个⾮常危险的参数

7. mv命令作⽤为移动⽂件:-f :force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖-i :若⽬标⽂件已经存在,就会询问是否覆盖-u :若⽬标⽂件已经存在,且⽐⽬标⽂件新,才会更新

8. pwd命令,作⽤为查看”当前⼯作⽬录“的完整路径pwd -P # 显⽰出实际路径,⽽⾮使⽤连接(link)路径;pwd显⽰的是连接路径

9. tar命令,⽤于压缩解压:-c :新建打包⽂件-t :查看打包⽂件的内容含有哪些⽂件名-x :解打包或解压缩的功能,可以搭配-C(⼤写)指定解压的⽬录,注意-c,-t,-x不能同时出现在同⼀条命令中-j :通过bzip2的⽀持进⾏压缩/解压缩-z :通过gzip的⽀持进⾏压缩/解压缩-v :在压缩/解压缩过程中,将正在处理的⽂件名显⽰出来-f filename :filename为要处理的⽂件-C dir :指定压缩/解压缩的⽬录dir压缩:tar -jcv -f 2 要被处理的⽂件或⽬录名称查询:tar -jtv -f 2解压:tar -jxv -f 2 -C 欲解压缩的⽬录10. mkdir命令创建⽬录:mkdir [选项]... ⽬录...

-m, --mode=模式,设定权限<模式> (类似 chmod),⽽不是 rwxrwxrwx 减 umask -p, --parents 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录;

-v, --verbose 每次创建新⽬录都显⽰信息

11. rmdir 命令删除⽬录:rmdir [选项]... ⽬录...-p 递归删除⽬录dirname,当⼦⽬录删除后其⽗⽬录为空时,也⼀同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显⽰相应的信息。

-v --verbose 显⽰指令执⾏过程

12. gzip 命令压缩⽂件或⽂件夹为 .gz⽂件:gzip[参数][⽂件或者⽬录]-a or --ascii  使⽤ASCII⽂字模式。

-c or --stdout or --to-stdout  把压缩后的⽂件输出到标准输出设备,不去更动原始⽂件。

-d or --decompress or ----uncompress  解开压缩⽂件。

-f or --force  强⾏压缩⽂件。不理会⽂件名称 or 硬连接是否存在以及该⽂件是否为符号连接。

-h or --help  在线帮助。

-l or --list  列出压缩⽂件的相关信息。

-L or --license  显⽰版本与版权信息。

-n or --no-name  压缩⽂件时,不保存原来的⽂件名称及时间戳记。

-N or --name  压缩⽂件时,保存原来的⽂件名称及时间戳记。

-q or --quiet  不显⽰警告信息。

-r or --recursive  递归处理,将指定⽬录下的所有⽂件及⼦⽬录⼀并处理。

-S<压缩字尾字符串> or ----suffix<压缩字尾字符串>  更改压缩字尾字符串。

-t or --test  测试压缩⽂件是否正确⽆误。

-v or --verbose  显⽰指令执⾏过程。

-V or --version  显⽰版本信息。

-num ⽤指定的数字num调整压缩的速度,-1 or --fast表⽰最快压缩⽅法(低压缩⽐),-9 or --best表⽰最慢压缩⽅法(⾼压缩⽐)。系统缺省值为6。

⼆. 进程相关命令:13. ps 命令显⽰运⾏的进程,还会显⽰进程的⼀些信息如pid, cpu和内存使⽤情况等:-A :所有的进程均显⽰出来-a :不与terminal有关的所有进程-u :有效⽤户的相关进程-x :⼀般与a参数⼀起使⽤,可列出较完整的信息-l :较长,较详细地将PID的信息列出

14. kill 命令⽤于终⽌进程,参数:kill -signal PID1:SIGHUP,启动被终⽌的进程2:SIGINT,相当于输⼊ctrl+c,中断⼀个程序的进⾏9:SIGKILL,强制中断⼀个进程的进⾏15:SIGTERM,以正常的结束进程⽅式来终⽌进程17:SIGSTOP,相当于输⼊ctrl+z,暂停⼀个进程的进⾏

15. killall 命令和参数:killall [-iIe] [command name]-i :交互式的意思,若需要删除时,会询问⽤户-e :表⽰后⾯接的command name要⼀致,但command name不能超过15个字符-I :命令名称忽略⼤⼩写# 例如:killall -SIGHUP syslogd # 重新启动syslogd

16. crontab命令是启动linux定时任务的服务service cron start # 启动cronjobservice cron stop # 停⽌cronjobservice cron restart # 重启cronjobcrontab -e # 编辑cronjob任务

17. free 命令⽤于显⽰Linux系统中空闲的、已⽤的物理内存及swap内存,及被内核使⽤的buffer:free [参数]-b  以Byte为单位显⽰内存使⽤情况。

-k  以KB为单位显⽰内存使⽤情况。

-m  以MB为单位显⽰内存使⽤情况。-g 以GB为单位显⽰内存使⽤情况。

-o  不显⽰缓冲区调节列。

-s<间隔秒数>  持续观察内存使⽤状况。

-t  显⽰内存总和列。

-V  显⽰版本信息。

18. top 命令是Linux下常⽤的性能分析⼯具,能够实时显⽰系统中各个进程的资源占⽤状况,类似于Windows的任务管理器:top [参数]-b 批处理-c 显⽰完整的治命令-I 忽略失效过程-s 保密模式-S 累积模式-i<时间> 设置间隔时间-u<⽤户名> 指定⽤户名-p<进程号> 指定进程-n<次数> 循环显⽰的次数

三. 权限相关命令:19. chmod命令:chmod [-R] xyz ⽂件或⽬录-R:进⾏递归的持续更改,即连同⼦⽬录下的所有⽂件都会更改#同时,chmod还可以使⽤u(user)、g(group)、o(other)、a(all)和+(加⼊)、-(删除)、=(设置)跟rwx搭配来对⽂件的权限进⾏更改,编号是各种权限的数字代码,⽰例:chmod 0755 file # 把file的⽂件权限改变为-rxwr-xr-xchmod g+w file # 向file的⽂件权限中加⼊⽤户组可写权限

20. chown命令改变⽂件所有者:chown [para]... [owner][:[group]] -c 显⽰更改的部分的信息 -f 忽略错误信息 -h 修复符号链接 -R 处理指定⽬录以及其⼦⽬录下的所有⽂件 -v 显⽰详细的处理信息 -deference 作⽤于符号链接的指向,⽽不是链接⽂件本⾝

21. chgrp命令,改变⽂件所属组:-c 当发⽣改变时输出调试信息-f 不显⽰错误信息-R 处理指定⽬录以及其⼦⽬录下的所有⽂件-v 运⾏时显⽰详细的处理信息--dereference 作⽤于符号链接的指向,⽽不是符号链接本⾝--no-dereference 作⽤于符号链接本⾝

22. useradd 命令建⽴⽤户账号:useradd [-mMnr][-c <备注>][-d <登⼊⽬录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][⽤户帐号]-c #<备注>  加上备注⽂字。备注⽂字会保存在passwd的备注栏位中。   -d #<登⼊⽬录>  指定⽤户登⼊时的启始⽬录。  -D # 变更预设值.  -e # <有效期限>  指定帐号的有效期限。  -f # <缓冲天数>  指定在密码过期后多少天即关闭该帐号。  -g # <群组>  指定⽤户所属的群组。  -G # <群组>  指定⽤户所属的附加群组。  -m # ⾃动建⽴⽤户的登⼊⽬录。  -M # 不要⾃动建⽴⽤户的登⼊⽬录。  -n # 取消建⽴以⽤户名称为名的群组.  -r # 建⽴系统帐号。  -s # 指定⽤户登⼊后所使⽤的shell。  -u # 指定⽤户ID。

23. usermod 修改⽤户信息:usermod -husermod [options] LOGIN -c #后⾯接账号的说明,即/etc/passwd第五栏的说明栏,可以加⼊⼀些账号的说明 -d #后⾯接账号的家⽬录,即修改/etc/passwd的第六栏 -e #后⾯接⽇期,格式是YYYY-MM-DD也就是在/etc/shadow内的第⼋栏 -f #后⾯接天数,修改shadow的第七栏 -g #后⾯接主群组,修改/etc/passwd的第四个字段,即是GID的字段 -G #后⾯接附加群组,修改这个使⽤者能够⽀持的群组,修改的是/etc/group -a #与 -G 合⽤,可增加附加群组的⽀持⽽⾮设定 -l #后⾯接账号名称。修改账号名称,/etc/passwd的第⼀栏 -s #后⾯接Shell的⽂件,例如/bin/bash或/bin/csh等等 -u #后⾯接 UID 数字,修改⽤户的UID/etc/passwd第三栏 -L #暂时将⽤户的密码冻结,让他⽆法登⼊。其实就是在/etc/shadow的密码栏前⾯加上了“!” -U #将/etc/shadow 密码栏的“!”去掉

24. userdel 删除⽤户:userdel [options] LOGIN-f # 强制删除,包括⽤户的⼀切相关内容,这个参数是危险的参数,不建议⼤家使⽤。详细说明看MAN-r # 删除⽤户的家⽬录和⽤户的邮件池

25. groupadd 命令⽤于将新组加⼊系统:groupadd [-g gid] [-o]] [-r] [-f] groupname-g gid:指定组ID号。-o:允许组ID号,不必惟⼀。-r:加⼊组ID号,低于499系统账号。-f:加⼊已经有的组时,发展程序退出。

26. groupdel 命令删除组:# ⽤于删除不再需要的组,如果指定的组中包含⽤户,则必须先删除组⾥⾯的⽤户>以后,才能删除组groupdel [options] GROUP

27. sudo ⽤来以其他⾝份来执⾏命令,预设的⾝份为root:sudo(选项)(参数)-b:在后台执⾏指令;-h:显⽰帮助;-H:将HOME环境变量设为新⾝份的HOME环境变量;-k:结束密码的有效期限,也就是下次再执⾏sudo时便需要输⼊密码;。-l:列出⽬前⽤户可执⾏与⽆法执⾏的指令;-p:改变询问密码的提⽰符号;-s:执⾏指定的shell;-u<⽤户>:以指定的⽤户作为新的⾝份。若不加上此参数,则预设以root作为新的⾝份;-v:延长密码有效期限5分钟;-V :显⽰版本信息。

28. passwd 设置⽤户的密码:passwd [] -k, --keep-tokens keep non-expired authentication tokens-d, --delete delete the password for the named account (root only)-l, --lock lock the named account (root only)-u, --unlock unlock the named account (root only)-f, --force force operation-x, --maximum=DAYS maximum password lifetime (root only)-n, --minimum=DAYS minimum password lifetime (root only)-w, --warning=DAYS number of days warning users receives before password expiration (root only)-i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only)-S, --status report password status on the named account (root)

  29. groups 显⽰⽤户所属组:groups # 默认显⽰当前⽤户的组groups hadoop2 # 显⽰hadoop2⽤户的组

四. ⽂本查看编辑等命令30. vi/vim 是使⽤vi编辑器的命令:vi /var/log/ # 打开 /var/log/⽂件并编辑

vi的操作命令⽐较复杂,就不在这⾥详细展开了。

31. cat ⽤途是连接⽂件或标准输⼊并打印。这个命令常⽤来显⽰⽂件内容,或者将⼏个⽂件连接起来显⽰,或者从标准输⼊读取内容并显⽰,它常与重定向符号配合使⽤。

cat [选项] [⽂件]...-A, --show-all 等价于 -vET-b, --number-nonblank 对⾮空输出⾏编号-e 等价于 -vE-E, --show-ends 在每⾏结束处显⽰ $-n, --number 对输出的所有⾏编号,由1开始对所有输出的⾏数编号-s, --squeeze-blank 有连续两⾏以上的空⽩⾏,就代换为⼀⾏的空⽩⾏

-t 与 -vT 等价-T, --show-tabs 将跳格字符显⽰为 ^I-u (被忽略)-v, --show-nonprinting 使⽤ ^ 和 M- 引⽤,除了 LFD 和 TAB 之外

32. more 命令和cat的功能⼀样都是查看⽂件⾥的内容,但有所不同的是more可以按页来查看⽂件的内容,还⽀持直接跳转⾏等功能:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

命令参数:+n 从笫n⾏开始显⽰-n 定义屏幕⼤⼩为n⾏+/pattern 在每个档案显⽰前搜寻该字串(pattern),然后从该字串前两⾏之后开始显⽰

-c 从顶部清屏,然后显⽰-d 提⽰“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁⽤响铃功能-l 忽略Ctrl+l(换页)字符-p 通过清除窗⼝⽽不是滚屏来对⽂件进⾏换页,与-c选项相似-s 把连续的多个空⾏显⽰为⼀⾏-u 把⽂件内容中的下画线去掉常⽤操作命令:Enter 向下n⾏,需要定义。默认为1⾏Ctrl+F 向下滚动⼀屏空格键 向下滚动⼀屏Ctrl+B 返回上⼀屏= 输出当前⾏的⾏号:f 输出⽂件名和当前⾏的⾏号V 调⽤vi编辑器!命令 调⽤Shell,并执⾏命令

q 退出more

33. less 命令⽤法⽐起 more 更加的有弹性。在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看,但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内容!除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。less [参数] ⽂件

-b <缓冲区⼤⼩> 设置缓冲区的⼤⼩-e 当⽂件显⽰结束后,⾃动离开-f 强迫打开特殊⽂件,例如外围设备代号、⽬录和⼆进制⽂件-g 只标志最后搜索的关键词-i 忽略搜索时的⼤⼩写-m 显⽰类似more命令的百分⽐-N 显⽰每⾏的⾏号-o <⽂件名> 将less 输出的内容在指定⽂件中保存起来-Q 不使⽤警告⾳-s 显⽰连续空⾏为⼀⾏-S ⾏过长时间将超出部分舍弃-x <数字> 将“tab”键显⽰为规定的数字空格/字符串:向下搜索“字符串”的功能字符串:向上搜索“字符串”的功能n:重复前⼀个搜索(与 / 或 ? 有关)N:反向重复前⼀个搜索(与 / 或 ? 有关)b 向后翻⼀页d 向后翻半页h 显⽰帮助界⾯Q 退出less 命令u 向前滚动半页y 向前滚动⼀⾏空格键 滚动⼀⾏回车键 滚动⼀页[pagedown]: 向下翻动⼀页[pageup]: 向上翻动⼀页

34. tail 命令#从指定点开始将⽂件写到标准输出.使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂件,tail -f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不但刷新,使你看到最新的⽂件内容. tail[必要参数][选择参数][⽂件]-f 循环读取-q 不显⽰处理信息-v 显⽰详细的处理信息-c<数⽬> 显⽰的字节数-n<⾏数> 显⽰⾏数--pid=PID 与-f合⽤,表⽰在进程ID,PID死掉之后结束.

-q, --quiet, --silent 从不输出给出⽂件名的⾸部

-s, --sleep-interval=S 与-f合⽤,表⽰在每次反复的间隔休眠S秒

35. head 命令⽤于显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏:  head [参数]... [⽂件]...

-q 隐藏⽂件名-v 显⽰⽂件名-c<字节> 显⽰字节数-n<⾏数> 显⽰的⾏数

36. diff 命令⽤于⽐较两个⽂件或⽬录的不同:diff[参数][⽂件1或⽬录1][⽂件2或⽬录2]# diff命令能⽐较单个⽂件或者⽬录内容。如果指定⽐较的是⽂件,则只有当输⼊为⽂本⽂件时才有效。以逐⾏的⽅式,⽐较⽂本⽂件的异同处。如果指定⽐较的是⽬录的的时候,diff 命令会⽐较两个⽬录下名字相同的# ⽂本⽂件。列出不同的⼆进制⽂件、公共⼦⽬录和只在⼀个⽬录出现的⽂件。-a or --text  #diff预设只会逐⾏⽐较⽂本⽂件。-b or --ignore-space-change  #不检查空格字符的不同。-B or --ignore-blank-lines  #不检查空⽩⾏。-c  #显⽰全部内⽂,并标出不同之处。-C or --context  #与执⾏"-c-"指令相同。-d or --minimal  #使⽤不同的演算法,以较⼩的单位来做⽐较。-D or ifdef  #此参数的输出格式可⽤于前置处理器巨集。-e or --ed  #此参数的输出格式可⽤于ed的script⽂件。-f or -forward-ed  #输出的格式类似ed的script⽂件,但按照原来⽂件的顺序来显⽰不同处。-H or --speed-large-files  #⽐较⼤⽂件时,可加快速度。-l or --ignore-matching-lines  #若两个⽂件在某⼏⾏有所不同,⽽这⼏⾏同时都包含了选项中指定的字符 or 字符串,则不显⽰这两个⽂件的差异。-i or --ignore-case  #不检查⼤⼩写的不同。-l or --paginate  #将结果交由pr程序来分页。-n or --rcs  #将⽐较结果以RCS的格式来显⽰。-N or --new-file  #在⽐较⽬录时,若⽂件A仅出现在某个⽬录中,预设会显⽰:Only in⽬录:⽂件A若使⽤-N参数,则diff会将⽂件A与⼀个空⽩的⽂件⽐较。-p  #若⽐较的⽂件为C语⾔的程序码⽂件时,显⽰差异所在的函数名称。-P or --unidirectional-new-file  #与-N类似,但只有当第⼆个⽬录包含了⼀个第⼀个⽬录所没有的⽂件时,才会将这个⽂件与空⽩的⽂件做⽐较。-q or --brief  #仅显⽰有⽆差异,不显⽰详细的信息。-r or --recursive  #⽐较⼦⽬录中的⽂件。-s or --report-identical-files  #若没有发现任何差异,仍然显⽰信息。-S or --starting-file  #在⽐较⽬录时,从指定的⽂件开始⽐较。-t or --expand-tabs  #在输出时,将tab字符展开。-T or --initial-tab  #在每⾏前⾯加上tab字符以便对齐。-u,-U or --unified=  #以合并的⽅式来显⽰⽂件内容的不同。-v or --version  #显⽰版本信息。-w or --ignore-all-space  #忽略全部的空格字符。-W or --width  #在使⽤-y参数时,指定栏宽。-x or --exclude  #不⽐较选项中所指定的⽂件 or ⽬录。-X or --exclude-from  #您可以将⽂件 or ⽬录类型存成⽂本⽂件,然后在=中指定此⽂本⽂件。-y or --side-by-side  #以并列的⽅式显⽰⽂件的异同之处。

⽹络相关命令:37. ping ⽤于确定主机与外部连接状态:ping [参数] [主机名或IP地址]-d 使⽤Socket的SO_DEBUG功能。-f 极限检测。⼤量且快速地送⽹络封包给⼀台机器,看它的回应。-n 只输出数值。-q 不显⽰任何传送封包的信息,只显⽰最后的结果。-r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的⽹络接⼝是否有问题。-R 记录路由过程。-v 详细显⽰指令的执⾏过程。

-c 数⽬:在发送指定数⽬的包后停⽌。-i 秒数:设定间隔⼏秒送⼀个⽹络封包给⼀台机器,预设值是⼀秒送⼀次。-I ⽹络界⾯:使⽤指定的⽹络界⾯送出数据包。-l 前置载⼊:设置在送出要求信息之前,先⾏发出的数据包。-p 范本样式:设置填满数据包的范本样式。-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,⼀共是64ICMP数据字节。-t 存活数值:设置存活数值TTL的⼤⼩。

38. ssh 命令⽤于远程登录上Linux主机:ssh [-l login_name] [-p port] [user@]hostname

39. scp 命令是secure copy的简写,⽤于在Linux下进⾏远程拷贝⽂件的命令,和它类似的命令有cp,不过cp只是在本机进⾏拷贝不能跨服务器,⽽且scp传输是加密的:scp [参数] [原路径] [⽬标路径]-1 强制scp命令使⽤协议ssh1

-2 强制scp命令使⽤协议ssh2

-4 强制scp命令只使⽤IPv4寻址

-6 强制scp命令只使⽤IPv6寻址

-B 使⽤批处理模式(传输过程中不询问传输⼝令或短语)

-C 允许压缩。(将-C标志传递给ssh,从⽽打开压缩功能)

-p 保留原⽂件的修改时间,访问时间和访问权限。

-q 不显⽰传输进度条。

-r 递归复制整个⽬录。

-v 详细⽅式显⽰输出。scp和ssh(1)会显⽰出整个过程的调试信息。这些信息⽤于调试连接,验证和配置问题。

-c cipher 以cipher将数据传输进⾏加密,这个选项将直接传递给ssh。

-F ssh_config 指定⼀个替代的ssh配置⽂件,此参数直接传递给ssh。

-i identity_file 从指定⽂件中读取传输时使⽤的密钥⽂件,此参数直接传递给ssh。

-l limit 限定⽤户所能使⽤的带宽,以Kbit/s为单位。

-o ssh_option 如果习惯于使⽤ssh_config(5)中的参数传递⽅式,

-P port 注意是⼤写的P, port是指定数据传输⽤到的端⼝号

-S program 指定加密传输时所使⽤的程序。此程序必须能够理解ssh(1)的选项。

40. telnet 命令⽤来远程登录操作:telnet[参数][主机]-8 允许使⽤8位字符资料,包括输⼊与输出。-a 尝试⾃动登⼊远端系统。-b<主机别名> 使⽤别名指定远端主机名称。-c 不读取⽤户专属⽬录⾥的.telnetrc⽂件。-d 启动排错模式。-e<脱离字符> 设置脱离字符。-E 滤除脱离字符。-f 此参数的效果和指定"-F"参数相同。-F 使⽤Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。-k<域名> 使⽤Kerberos认证时,加上此参数让远端主机采⽤指定的领域名,⽽⾮该主机的域名。-K 不⾃动登⼊远端主机。-l<⽤户名称> 指定要登⼊远端主机的⽤户名称。-L 允许输出8位字符资料。-n<记录⽂件> 指定⽂件记录相关信息。-r 使⽤类似rlogin指令的⽤户界⾯。-S<服务类型> 设置telnet连线所需的IP TOS信息。-x 假设主机有⽀持数据加密的功能,就使⽤它。-X<认证形态> 关闭指定的认证形态。

41. wget 是从远程下载的⼯具:wget [参数] [URL地址]启动参数:-V, –version 显⽰wget的版本后退出-h, –help 打印语法帮助-b, –background 启动后转⼊后台执⾏-e, –execute=COMMAND 执⾏`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc记录和输⼊⽂件参数:-o, –output-file=FILE 把记录写到FILE⽂件中-a, –append-output=FILE 把记录追加到FILE⽂件中-d, –debug 打印调试输出-q, –quiet 安静模式(没有输出)-v, –verbose 冗长模式(这是缺省设置)-nv, –non-verbose 关掉冗长模式,但不是安静模式-i, –input-file=FILE 下载在FILE⽂件中出现的URLs-F, –force-html 把输⼊⽂件当作HTML格式⽂件对待-B, –base=URL 将URL作为在-F -i参数指定的⽂件中出现的相对链接的前缀–sslcertfile=FILE 可选客户端证书–sslcertkey=KEYFILE 可选客户端证书的KEYFILE–egd-file=FILE 指定EGD socket的⽂件名下载参数:–bind-address=ADDRESS 指定本地使⽤地址(主机名或IP,当本地有多个IP或名字时使⽤)-t, –tries=NUMBER 设定最⼤尝试链接次数(0 表⽰⽆限制).-O –output-document=FILE 把⽂档写到FILE⽂件中-nc, –no-clobber 不要覆盖存在的⽂件或使⽤.#前缀-c, –continue 接着下载没下载完的⽂件–progress=TYPE 设定进程条标记-N, –timestamping 不要重新下载⽂件除⾮⽐本地⽂件新-S, –server-response 打印服务器的回应–spider 不下载任何东西-T, –timeout=SECONDS 设定响应超时的秒数-w, –wait=SECONDS 两次尝试之间间隔SECONDS秒–waitretry=SECONDS 在重新链接之间等待1…SECONDS秒–random-wait 在下载之间等待0…2*WAIT秒-Y, –proxy=on/off 打开或关闭代理-Q, –quota=NUMBER 设置下载的容量限制–limit-rate=RATE 限定下载输率⽬录参数:-nd –no-directories 不创建⽬录-x, –force-directories 强制创建⽬录-nH, –no-host-directories 不创建主机⽬录-P, –directory-prefix=PREFIX 将⽂件保存到⽬录 PREFIX/…–cut-dirs=NUMBER 忽略 NUMBER层远程⽬录HTTP 选项参数:–http-user=USER 设定HTTP⽤户名为 USER.–http-passwd=PASS 设定http密码为 PASS-C, –cache=on/off 允许/不允许服务器端的数据缓存 (⼀般情况下允许)-E, –html-extension 将所有text/html⽂档以.html扩展名保存–ignore-length 忽略 `Content-Length’头域–header=STRING 在headers中插⼊字符串 STRING–proxy-user=USER 设定代理的⽤户名为 USER–proxy-passwd=PASS 设定代理的密码为 PASS–referer=URL 在HTTP请求中包含 `Referer: URL’头-s, –save-headers 保存HTTP头到⽂件-U, –user-agent=AGENT 设定代理的名称为 AGENT⽽不是 Wget/VERSION–no-http-keep-alive 关闭 HTTP活动链接 (永远链接)–cookies=off 不使⽤ cookies–load-cookies=FILE 在开始会话前从⽂件 FILE中加载cookie–save-cookies=FILE 在会话结束后将 cookies保存到 FILE⽂件中FTP 选项参数:-nr, –dont-remove-listing 不移⾛ `.listing’⽂件-g, –glob=on/off 打开或关闭⽂件名的 globbing机制–passive-ftp 使⽤被动传输模式 (缺省值).–active-ftp 使⽤主动传输模式–retr-symlinks 在递归的时候,将链接指向⽂件(⽽不是⽬录)递归下载参数:-r, –recursive 递归下载--慎⽤!-l, –level=NUMBER 最⼤递归深度 (inf 或 0 代表⽆穷)–delete-after 在现在完毕后局部删除⽂件-k, –convert-links 转换⾮相对链接为相对链接-K, –backup-converted 在转换⽂件X之前,将之备份为 -m, –mirror 等价于 -r -N -l inf -nr-p, –page-requisites 下载显⽰HTML⽂件的所有图⽚递归下载中的包含和不包含(accept/reject):-A, –accept=LIST 分号分隔的被接受扩展名的列表-R, –reject=LIST 分号分隔的不被接受的扩展名的列表-D, –domains=LIST 分号分隔的被接受域的列表–exclude-domains=LIST 分号分隔的不被接受的域的列表–follow-ftp 跟踪HTML⽂档中的FTP链接–follow-tags=LIST 分号分隔的被跟踪的HTML标签的列表-G, –ignore-tags=LIST 分号分隔的被忽略的HTML标签的列表-H, –span-hosts 当递归时转到外部主机-L, –relative 仅仅跟踪相对链接-I, –include-directories=LIST 允许⽬录的列表-X, –exclude-directories=LIST 不被包含⽬录的列表-np, –no-parent 不要追溯到⽗⽬录wget -S –spider url 不下载只显⽰过程

42. ifconfig 命令⽤来查看和配置⽹络设备。当⽹络环境发⽣改变时可通过此命令对⽹络进⾏相应的配置:ifconfig [⽹络设备] [参数]up 启动指定⽹络设备/⽹卡。down 关闭指定⽹络设备/⽹卡。该参数可以有效地阻⽌通过指定接⼝的IP信息流,如果想永久地关闭⼀个接⼝,我们还需要从核⼼路由表中将该接⼝的路由信息全部删除。arp 设置指定⽹卡是否⽀持ARP协议。-promisc 设置是否⽀持⽹卡的promiscuous模式,如果选择此参数,⽹卡将接收⽹络中发给它所有的数据包-allmulti 设置是否⽀持多播模式,如果选择此参数,⽹卡将接收⽹络中所有的多播数据包-a 显⽰全部接⼝信息-s 显⽰摘要信息(类似于 netstat -i)add 给指定⽹卡配置IPv6地址del 删除指定⽹卡的IPv6地址<硬件地址> 配置⽹卡最⼤的传输单元mtu<字节数> 设置⽹卡的最⼤传输单元 (bytes)netmask<⼦⽹掩码> 设置⽹卡的⼦⽹掩码。掩码可以是有前缀0x的32位⼗六进制数,也可以是⽤点分开的4个⼗进制数。如果不打算将⽹络分成⼦⽹,可以不管这⼀选项;如果要使⽤⼦⽹,那么请记住,⽹络中每⼀个系统必须有相同⼦⽹掩码。tunel 建⽴隧道dstaddr 设定⼀个远端地址,建⽴点对点通信-broadcast<地址> 为指定⽹卡设置⼴播协议-pointtopoint<地址> 为⽹卡设置点对点通讯协议multicast 为⽹卡设置组播标志address 为⽹卡设置IPv4地址txqueuelen<长度> 为⽹卡设置传输列队的长度

43. routeroute [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]

-c # 显⽰更多信息-n # 不解析名字-v # 显⽰详细的处理信息-F # 显⽰发送信息-C # 显⽰路由缓存-f # 清除所有⽹关⼊⼝的路由表。

-p # 与 add 命令⼀起使⽤时使路由具有永久性。

五. 搜索⽂件:44. whereis 命令:# whereis命令只能⽤于程序名的搜索,⽽且只搜索⼆进制⽂件(参数-b)、man说明⽂件(参数-m)和源代码⽂件(参数-s)。如果省略参数,则返回所有信息。和find相⽐,whereis查找的速度⾮常快,这是因为linux系统会将 系统内的所有⽂件都记录在⼀个数据库⽂件中,当使⽤whereis和locate时,会从数据库中查找数据,⽽不是像find命令那样,通过遍历硬盘来查找,效率⾃然会很⾼。 但是该数据库⽂件并不是实时更新,默认情况下时⼀星期更新⼀次,因此,我们在⽤whereis和locate 查找⽂件时,有时会找到已经被删除的数据,或者刚刚建⽴⽂件,却⽆法查找到,原因就是因为数据库⽂件没有被更新。whereis [-bmsu] [BMS ⽬录名 -f ] ⽂件名 -b 定位可执⾏⽂件。 -m 定位帮助⽂件。 -s 定位源代码⽂件。 -u 搜索默认路径下除可执⾏⽂件、源代码⽂件、帮助⽂件以外的其它⽂件。 -B指定搜索可执⾏⽂件的路径。 -M 指定搜索帮助⽂件的路径。 -S 指定搜索源代码⽂件的路径。

45. locate 命令# locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建⽴的,locate命令在搜寻数据库时⽐由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建⽴或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑⼀次,可以由修改crontab来更新设定值。(etc/crontab)Locate [选择参数] [样式]-e 将排除在寻找的范围之外。-1 如果 是 1.则启动安全模式。在安全模式下,使⽤者不会看到权限⽆法看到 的档案。这会始速度减慢,因为 locate 必须⾄实际的档案系统中取得档案的 权限资料。-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。-q 安静模式,不会显⽰任何错误讯息。-n ⾄多显⽰ n个输出。-r 使⽤正规运算式 做寻找的条件。-o 指定资料库存的名称。-d 指定资料库的路径-h 显⽰辅助讯息-V 显⽰程式的版本讯息

46. which 会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第⼀个搜索结果:which 可执⾏⽂件名称

-n  指定⽂件名长度,指定的长度必须⼤于或等于所有⽂件中最长的⽂件名。-p  与-n参数相同,但此处的包括了⽂件的路径。-w  指定输出时栏位的宽度。-V  显⽰版本信息

六. 其他:47. grep命令该命令常⽤于分析⼀⾏的信息,若当中有我们所需要的信息,就将该⾏显⽰出来,该命令通常与管道命令⼀起使⽤,⽤于对⼀些命令的输出进⾏筛选加⼯等等,⽐如可以加在ps, tail, cat后⾯它的简单语法为grep [-acinv] [--color=auto] '查找字符串' filename

48. clear 命令⽤于清除终端屏幕上现有的⽂字内容,将之上滚: 额,这条不需要啥⽰例,⾮常简单...⽤了以后就没有了...

49. date 命令⽤于显⽰或设定时间:date [参数]... [+格式]必要参数:%H ⼩时(以00-23来表⽰)。

%I ⼩时(以01-12来表⽰)。

%K ⼩时(以0-23来表⽰)。

%l ⼩时(以0-12来表⽰)。

%M 分钟(以00-59来表⽰)。

%P AM或PM。

%r 时间(含时分秒,⼩时以12⼩时AM/PM来表⽰)。

%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。

%S 秒(以本地的惯⽤法来表⽰)。

%T 时间(含时分秒,⼩时以24⼩时制来表⽰)。

%X 时间(以本地的惯⽤法来表⽰)。

%Z 市区。

%a 星期的缩写。

%A 星期的完整名称。%b ⽉份英⽂名的缩写。

%B ⽉份的完整英⽂名称。

%c ⽇期与时间。只输⼊date指令也会显⽰同样的结果。

%d ⽇期(以01-31来表⽰)。

%D ⽇期(含年⽉⽇)。 %j 该年中的第⼏天。

%m ⽉份(以01-12来表⽰)。

%U 该年中的周数。

%w 该周的天数,0代表周⽇,1代表周⼀,异词类推。

%x ⽇期(以本地的惯⽤法来表⽰)。

%y 年份(以00-99来表⽰)。

%Y 年份(以四位数来表⽰)。

%n 在显⽰时,插⼊新的⼀⾏。

%t 在显⽰时,插⼊tab。

MM ⽉份(必要)

DD ⽇期(必要)

hh ⼩时(必要)

mm 分钟(必要)ss 秒(选择性)选择参数:-d<字符串>  显⽰字符串所指的⽇期与时间。字符串前后必须加上双引号。

-s<字符串>  根据字符串来设置⽇期与时间。字符串前后必须加上双引号。

-u  显⽰GMT。

50. ln 命令是为某⼀个⽂件在另外⼀个位置建⽴⼀个同步的链接Linux⽂件系统中,有所谓的链接(link),我们可以将其视为档案的别名,⽽链接⼜可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是⼀个档案可以有多个名称,⽽软链接的⽅式则是产⽣⼀个特殊的档案,该档案的内容是指向另⼀个档案的位置。硬链接是存在同⼀个⽂件系统中,⽽软链接却可以跨越不同的⽂件系统。软链接:1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷⽅式2.软链接可以 跨⽂件系统 ,硬链接不可以3.软链接可以对⼀个不存在的⽂件名进⾏链接4.软链接可以对⽬录进⾏链接硬链接:1.硬链接,以⽂件副本的形式存在。但不占⽤实际空间。2.不允许给⽬录创建硬链接3.硬链接只有在同⼀个⽂件系统中才能创建ln [参数][源⽂件或⽬录][⽬标⽂件或⽬录]必要参数:-b 删除,覆盖以前建⽴的链接-d 允许超级⽤户制作⽬录的硬链接-f 强制执⾏-i 交互模式,⽂件存在则提⽰⽤户是否覆盖-n 把符号链接视为⼀般⽬录-s 软链接(符号链接)-v 显⽰详细的处理过程选择参数:-S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”-V “-V<备份⽅式>”或“--version-control=<备份⽅式>”