运维应该知道的Linux命令

1. mkdir:创建目录

-p递归创建

2. touch:创建文件

3. ls:列表目录

-a显示所有文件,包括隐藏文件,默认.开头的文件就是隐藏文件

-A显示除. ..以外的所有文件

-l详细信息显示

-F给不同文件结尾加标识

-p给目录结尾加斜线

-d查看目录属性

--time-style=long-iso

4. cd:切换目录

 -返回上一次切换的目录

例:

[root@centos oldboy]# pwd

/root/oldboy

[root@centos oldboy]# cd /tmp

[root@centos tmp]# cd -                  

/root/oldboy

[root@centos oldboy]# env|grep -i oldpwd  查看变量

OLDPWD=/tmp

[root@centos oldboy]# cd .   切换到当前目录

[root@centos oldboy]# cd ..  切换到上一级目录

[root@centos ~]# cd -        切换到上一次切换的目录

/root/oldboy

[root@centos oldboy]# cd ~或者cd  切换到家目录

5. echo:打印/回显

     n不换行输出

-e可以使用转义字符(\n回车,\t tab键)

6. cp:(copy)拷贝文件或目录

-a:此参数的效果和同时指定"-dpR"参数相同

-b:覆盖已存在的文件目标前将目标文件备份

-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录

-p:保留源文件或目录的属性

-f:强行复制文件或目录,不论目标文件或目录是否已存在

-R/r:递归处理,将指定目录下的所有文件与子目录一并处理

7. mv:(move)移动文件或目录,更改文件名

8. vi:文本编辑器 vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。

9. vim:复杂编辑器。

10. rmdir:删除空目录

         -p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除

11. rm:(remove)删除文件或目录 注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。

      -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录

-f:强制删除文件或目录

      -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理

      -i:删除已有文件或目录之前先询问用户

12. head:查看文件前N行,默认前10行。

        -n<数字>:指定显示头部内容的行数

13. tail:查看文件后N行,默认后10行。

        -n<数字>:指定显示头部内容的行数

14.cat:显示文件的内容

        -n或-number:有1开始对所有输出的行数编号

15.tac:显示文件的内容,与cat命令相反,从最后一行倒序显示内容

        -n或-number:有1开始对所有输出的行数编号

16.awk:文本分析工具,适合文本处理和报表生成。 awk 是三剑客的老大,利剑出鞘,必会不同凡响。

       -F参数:指定分隔符,可指定一个或多个

       NR= 行数   {print $1 $2}

       $1 第一列,$2第二列以此类推,但$0标识一行

       -F 指定分隔符

例:

#tail -1 /etc/passwd

oldboy:x:500:500::/home/oldboy:/bin/bash

#awk 'NR==1 {print $0}' /etc/passwd

root:x:0:0:root:/root:/bin/bash

#awk -F ":" 'NR==1 {print $6}' /etc/passwd

/root

#awk -F ":" 'NR==1 {print $7}' /etc/passwd

/bin/bash

#awk -F ":" 'NR==1 {print $NF}' /etc/passwd

/bin/bash

#awk -F ":" 'NR==1 {print $2}' /etc/passwd  

x

#awk -F ":" 'NR==1 {print $1,$4,$NF}' /etc/passwd

root 0 /bin/bash

17.sed:流编辑器,Sed命令是操作,过滤和转换文本内容的强大工具。常用功能有增删改查(增加,删除,修改,查询),其中查询的功能中最常用的2大功能是过滤(过滤指定字符串),取行(取出指定行)。sed是三剑客中的老二

         -i:修改

        -n:取消默认输出

        -e:多项编辑

         p:打印

         s:取代 g:结尾 sg组合使用:’s#需要替换的内容#替换的内容#g’

18.gerp:文本过滤 linux三剑客老三 例:grep -v ls ceshi.txt

grep [-acinv] ‘搜索字符串’filename

参数:

    -a:在二进制文件中,以文本的方式搜索数据

-c:计算找到‘搜索字符串’的次数

-o:仅显示出匹配regexp的内容(用于统计出现在文中的次数)

-i:忽略大小写的不同,大小写视为相同*

-n:匹配的内容在其行首显示行号*

-v:反向选择,即显示除了‘搜索字符串’内容的行*

-E:扩展的grep,即egrep

--color=auto:以特定颜色高亮度显示匹配关键字

-A:After的意思,显示匹配字符串及其后n行的数据

-B:Before的意思,显示匹配字符串及其前n行的数据

-C:Context的意思,显示匹配字符串及其前后各num行

-w:按单词搜索,相当于\b

19.find:在指定目录下查找文

      -name<范本样式>:指定字符串作为寻找文件或目录的范本样式   

      -mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算

      -ctime

 -atime

--maxdepth:

       -type    根据文件类型查找(f文件,d目录,l软链接文件)

20.alias:查看、修改和设置别名  alias 命令别名=‘实际命令’

21.unalias:取消别名  

          -a:删除全部的别名

22.seq:打印序列  

       -f 选项   指定格式,指定分隔符

23.pwd:显示当前目录

24.tree:显示目录树  安装:yum -y install

-L: layer层数

-d:显示目录

25.xargs:从标准输入创建执行命令

       -n 1分组

26.tr:对来自标准输入的字符进行替换、压缩和删除。

27.man:帮助指令     man 命令

28.--help:帮助信息   命令 --help   查看内置命令帮助信息:help 命令

29.useradd 添加用户 语法:useradd 用户名 例:useradd ceshi

       -s:指定登录shell(-s /sbin/nologin)

       -u:指定UID

       -c注释 -d指定家目录 -G指定属于多个组 -m创建家目录

       -g指定属于的主组 -e指定过期时间 -M不创建家目录

30.passwd 为用户设置修改密码 语法:passwd ceshi 为ceshi设置修改密码,直接passdw是修改当前用户密码   --stain:非交互式修改密码

  非交互式更改密码:[root@centos ~]# echo "123456"|passwd --stdin oldboy

31.uname 打印系统信息  -m 查看系统多少位 -r 内核版本 -a 显示所有信息 -n显示主机名,相当于hostname命令

32.hostname 显示和设置主机名 默认是显示主机名 设置主机名可以 hostname 主机名(临时生效)

33.runlevel:查看当前系统运行级别。

34.init:切换运行级别,后面接对应级别的数字,例:init 0 关机

35.shutdown(halt、init 0)关机  shutdown -h now

36.reboot(init6)重启shutdown -r now

37.history 查看命令及清理历史记录 -c清空所有 -d清除指定的记录

38.dmseg:查看系统故障信息

39.ifup和ifdown:启动和停止网卡,可以接网卡名。例:ifup eth0

40.df:查看磁盘的使用量

-i: inode

-h:人性化显示

41.file:查看文件的类型

42.last:查看用户登录信息。/var/log/wtmp数据文件

43.lastlog:显示最近登录的用户信息。/var/log/lastlog数据文件

44.dumpe2fs:查看文件系统内部信息(元数据)

45.tar:打包

    -z:有gzip属性,即需要用 gzip 压缩    

-j:有bz2属性,即需要用 bzip2 压缩    

-Z:有compress属性的    

-v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程!    

-O:将文件解开到标准输出    

-f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!    

-p :使用原文件的原来属性(属性不会依据使用者而变)    

-P :可以使用绝对路径来压缩!    

-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!    

--exclude FILE:在压缩的过程中,不要将 FILE 打包!      

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

46. cut 切割,取列

-d:指定字段的分隔符,默认的字段分隔符为“TAB”;

-c:仅显示行中指定范围的字符;

-f:显示指定字段的内容;

47.tr:对来自标准输入的字符进行替换、压缩和删除。

      例:将输入字符由大写转换为小写:

echo "HELLO WORLD" | tr 'A-Z' 'a-z'

hello world

48.id:查看用户和组信息

49.ln:创建软硬链接 -s创建软连接

50.du:查看文件和目录大小 -sh

51.which 查看二进制命令所在的路径(从PATH变量所在的路径查找)

52.whereis 查看命令的帮助、源代码、-b二进制

53.locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。

54.groupadd:添加组   例:groupadd test

55.usermod:更改用户属性

56.chmod:更改及设置文件对应权限

57.chown:更改及设置文件对应的用户和组

58.su:切换用户身份 - 加载环境变量 -c以指定用户身份执行任务

      例:su - ceshi -c ‘/home/ceshi/bin/deploy.sh’

59.umask:控制文件默认权限

60.userdel:删除用户 -r删除家目录

61:groupdel:删除组

62:chage:设置或写个用户密码有效期限

     -l:查看信息

     -E:账户过期时间设置过期时间,日期写法:MM/DD/YY

63. w:计算机用户的登录信息(详细)

64. who:计算机用户的登录信息

65. last:显示用户登录的历史

66. lastlog:所有计算机用户最近的登录情况 /var/log/lastlog

67. groups:查看用户所在组

68. sudo:可以让普通用户可以拥有root权限去执行命令。sudo的配置文件/etc/sudoers

69. visudo:通过visudo编辑/etc/sudoers,可以检查语法

70. dd:复制文件并对原文件的内容进行转换和格式化处理

71. fdisk:磁盘分区工具(用于小于2T),-l列表

72. partted:分区工具(常用于大于2T)

73. partprobe:把分区表的修改变化通知内核

74. mkfs ext4(mkfs -t ext4):格式化 -b block -I inode

75. mkswap:格式化swap分区

76. swapon/swapoff:使用swap分区 例:swapon /dev/sda1

77. mount:于加载文件系统到指定的加载点 -type -o选项

78. umount:卸载挂载 (-lF)强制卸载

79. df:查看磁盘信息 -i inode -h人性化可查看 -T文件类型

80. dumpe2fs:查看ext文件系统信息

81. fsck(e2fsck):磁盘检查

82. tune2fs:修改文件系统信息

83. megacli:查看raid信息

84. ipmitools:查看硬件信息工具

85. resize2fs:调整文件系统大小(LVM,drbd扩容)

86. md5sum:用MD5报文摘要算法(128位)计算和检查文件的校验和。

87. rpm:用于管理Linux 下软件包的软件。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。

1)rpm包安装:

rpm -ivh httpd.rpm 安装 httpd.rpm 包并在安装过程中显示正在安装的文件信息及安装进度

2)卸载已安装的软件包:

rpm -e httpd (注意:软件报名是httpd,而不是rpm文件名httpd.rpm)

3)升级软件包:即升级软件

rpm -Uvh httpd.rpm

4)查询软件包

rpm -aq httpd

5)rpm校验软件包

rpm -Vf 需要验证的软件包

88. watch:周期性执行程序,打印到目录,默认2秒,-n指定秒

89. ssh:linux ssh客户端 -p port -t打开终端

90. scp:secure cp -P prot -r 目录 -p保持属性

91. dig:是常用的域名查询工具,可以用来测试域名系统工作是否正常 常用选项:+trace

92. nslookup:用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题

93. host:常用的分析域名查询工具,可以用来测试域名系统工作是否正常

94. ifconfig:查看配置网卡信息

95. ip:网络配置工具    

      配置ip:

ifconfig eth0:0 10.0.0.81/24 up

ip addr add 10.0.0.82/24 dev eth0 label eth0:1

      删除ip:

      ifconfig eth0:0 down

ip addr del 10.0.0.82/24 dev eth0 label eth0:1

96. wget:从指定的URL下载文件

-b:进行后台的方式运行wget

-r:递归下载方式

-q:不显示指令执行过程

-v:显示详细执行过程

97. netstat:打印Linux中网络系统的状态信息

    -a或--all:显示所有连线中的Socket

-l或--listening:显示监控中的服务器的Socket

-n或--numeric:直接使用ip地址,而不通过域名服务器

-t或--tcp:显示TCP传输协议的连线状况

-u或--udp:显示UDP传输协议的连线状况

-p或--programs:显示正在使用Socket的程序识别码和程序名称

98. lsof:查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件

    -a:列出打开文件存在的进程

-c<进程名>:列出指定进程所打开的文件

-g:列出GID号进程详情

-d<文件号>:列出占用该文件号的进程

+d<目录>:列出目录下被打开的文件

+D<目录>:递归列出目录下被打开的文件

-n<目录>:列出使用NFS的文件

-i<条件>:列出符合条件的进程(4、6、协议、:端口、 @ip )

-p<进程号>:列出指定进程号所打开的文件

-u:列出UID号进程详情

99. curl:利用URL规则在命令行下工作的文件传输工具

    -I/--head只显示请求头信息

-s/--silent静默模式,不输出任何东西

-w/--write-out [format]获取状态码

100. rpm:RPM软件包的管理工具

    -a:查询所有套件

-f<文件>+:查询拥有指定文件的套件

-e<套件档>或--erase<套件档>:删除指定的套件

-v:显示指令执行过程

-l:显示套件的文件列表

-f<文件>+:查询拥有指定文件的套件

-h或--hash:套件安装时列出标记

-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户

你可能感兴趣的:(linux基础,基础命令)