linux常见命令(分类展示)

  • linux常见命令(分类展示)已关闭评论
  • 161 次浏览
  • A+
所属分类:linux技术
摘要

​ 显示文件/目录属性​ 切换目录​ 显示当前目录​ mv:移动文件 cp:复制文件


一、文件管理:

1.1、ls:

​ 显示文件/目录属性

常见参数: -l :列出长数据串,包含文件的属性与权限数据等   -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)   -d :仅列出目录本身,而不是列出目录的文件数据   -h :将文件容量以较易读的方式(GB,kB等)列出来   -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来   

linux常见命令(分类展示)

1.2、cd:

​ 切换目录

cd / 

1.3、pwd:

​ 显示当前目录

linux常见命令(分类展示)

1.4、mv/cp:

​ mv:移动文件 cp:复制文件

cp/mv常见参数: -r: 递归复制 -p: 保持属性复制   
将文件复制/移动到指定目录:              cp/mv filename dirname  将文件重命名复制/移动到指定目录:         cp/mv filename1 filename2 dirname 例: 将file1重命名为file2并存放在/etc:      cp file1 file2 /etc  

1.5、rm/rmdir:

​ rm:删除文件 rmdir:删除空文件夹(删除有内容的文件夹使用rm rf)

rm常见参数: -i: 交互式 -r: 递归 -f: 强制 

1.6、mkdir/touch:

​ mkdir:创建文件夹 touch:创建文件,修改时间戳

mkdir常见参数: -m: 创建目录的同时设置权限  -p: 递归创建多级目录 mkdir -p /Dir1/Dir2 
touch常见参数: -a: 设置文件的读取时间记录  -c: 不创建新文件  -d: 设置时间与日期  -m: 设置文件的修改时间记录 

1.7、ln:

​ 为文件创建链接,可创建软链接与硬链接。

​ 软链接:相当于Windows的快捷方式,原始文件移动后软连接无法使用

​ 硬链接:将文件的属性块进行了复制,原始文件移动后依然能使用

语法格式:ln [参数] 源文件名 目标文件名 常见参数: -s: 对源文件创建软链接 例: ln /etc/passwd passwd    创建硬链接 ln -s /etc/passwd passwd 创建软链接 

1.8、chown/chgrp/chmod:

​ chown:更改文件拥有者 chgrp:更改文件组 chmod:更改文件权限

chown: 语法格式:chown [参数] 所属主:所属组 文件名 常见参数: -c: 显示所属变更信息  -f: 若该文件拥有者无法被更改也不显示错误  -h: 仅对链接文件进行更改,而非真正指向的文件  -P: 不遍历任何符号链接  -R: 递归处理所有子文件 例: 改变指定目录及其内所有子文件的所属主与所属组: 	chown -R root /Dir 	chown -R root:root /Dir 

文件权限:

文件基本属性分为四类 dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin 

第一个字符代表文件为目录、文件或者链接文件等

d:目录	-:文件	l:链接 

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute),总共分为三组,分别为:用户、组以及其他。

r=4,w=2,x=1

linux常见命令(分类展示)

chmod: chmod xxx filename 

二、系统管理:

2.1、uname:

​ 显示系统内核信息

常见参数: -a: 显示系统所有相关信息  -i: 显示硬件平台  -m: 显示计算机硬件架构  -n: 显示主机名称 

2.2、shutdown/halt/reboot/init:

​ shutdown/halt:关闭服务器 reboot:重启服务器 init:切换系统运行级别

shutdown常见参数: -r             关机重启 -h             关机不重启  now            立刻关机  例:  shutdown -r now/21:00 
init常见参数: 0: 关机  1: 单用户  2: 多用户  3: 完全多用户模式  4: 无功能  5: 图形界面  6: 重启  --help: 显示帮助信息 

2.3、useradd/adduser:

​ 添加用户:

用法: useradd [-u|-g|-m|-d|-s] username 常见参数: -u: 指定用户id -g: 指定用户组id -d: 指定用户家目录 -m/M:目录不存在时 m创建家目录/M 不创建 -s: 指定用户登陆的shell -p: 设置用户的密码  -r: 建立系统帐号 

2.4、userdel:

​ 删除用户:

用法: userdel [-r] username 常见参数: -f: 强制删除用户的账号而不询问  -h: 显示帮助信息  -r: 删除用户的家目录及其内全部子文件  -Z: 删除用户的SELinux映射用户 

2.5、usermod:

​ 修改用户权限,参数同useradd。

2.6、passwd:

​ 修改用户密码:

用法: passwd username 或者 echo password | passwd username --stdin 

2.7、which/whereis/locate:

​ which:查找命名文件 whereis:显示命令及相关文件的路径信息 locate:查找文件或目录

语法格式:which [参数] 文件名 
whereis常见参数: -b: 查找二进制程序或命令文件  -m: 查找man帮助手册文件  -s: 仅查找源代码文件 

linux常见命令(分类展示)

2.8、find:

​ 根据给定路径条件查找相关文件或目录:

用法: find [PATH] [option] [action]   find支持正则匹配   -name   按照文件名查找文件。 -perm   按照文件权限来查找文件。 -user   按照文件属主来查找文件。 -group  按照文件所属的组来查找文件。 -mtime -n +n  按照文件的更改时间来查找文件 -type  查找某一类型的文件   

示例:

find / -name *.txt    find . -name *.pyc exec rm -rf {}; 找出 pyc文件并删除 find . -type d  查找目录 

2.9、uptime:

​ 查看系统负载:

linux常见命令(分类展示)

				开机时间  运行时长      在线用户    负载:       

2.10、free:

​ 显示内存使用:

用法: free [-b|k|m|g]    

linux常见命令(分类展示)

第一行:    内存总计      已经使用      空闲       多个进程共享的内存总额    缓冲     缓存      第二行:    swap空间使用情况    

2.11、ps:

​ 用法:

ps [option] -a :所有的进程均显示出来   -u :有效用户的相关进程   -x :一般与a连用 可列出较完整的信息   -l :以长列表形式显示 -o :自定义显示 -e :显示环境变量信息 -f :用ASCII字符显示树状结构 

​ 常用:

ps -aux/-elf  显示所有进程信息 ps -ax -o pid,%cpu,%mem --sort=-%cpu,-%mem | head -10 显示cpu以及内存占用最高的10个进程	 
aux与-elf区别:   ps aux :最常用的 BSD 风格选项组合,其中的 a表示所有关联到终端的进程,如果同时使用 x 则代表所有进程;u 表示列出进程的用户。   ps -elf : unix标准风格组合,其中-e 代表列出所有进程,-l 代表长格式,-f 代表完整的格式 

2.12、top:

​ 格式:

top [option] 参数: d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。 p 通过指定监控进程ID来仅仅监控某个进程的状态。 s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。 i 使top不显示任何闲置或者僵死进程   

​ 常用命令:

h或者? 显示帮助画面,给出一些简短的命令总结说明。 k       终止一个进程。 i 忽略闲置和僵死进程。 q 退出程序。 r 重新安排一个进程的优先级别 s 改变两次刷新之间的延迟时间 M 根据驻留内存大小进行排序。 P 根据CPU使用百分比大小进行排序。 T 根据时间/累计时间进行排序。 

​ 常用:

top   //每隔5秒显式所有进程的资源占用情况 top -d 2  //每隔2秒显式所有进程的资源占用情况 top -c  //每隔5秒显式进程的资源占用情况 

三、文本操作:

3.1、cat/tac:

​ 全文查看,cat正序从第一行查看,tac倒叙从最后一行查看

3.2、less/more:

​ 分页查看。

​ 区别:

1、less可以按上下方向键来显示上下内容,而more不能通过上下方向键控制显示; 2、less不必读整个文件,加载速度比more更快; 3、less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容。 

3.3、head/tail:

​ 头尾查看。head:查看头,tail:查看尾。

​ 语法: head filename

​ 常见用法:

head -10 /etc/passwd  查看文件前10行 tail -5 /etc/passwd  查看文件后5行 

3.4、wc:

​ 统计文件内容。

​ 语法:

wc [-lwm] 选项: -l  :仅列出行; -w  :仅列出多少字(英文单字); -m  :多少字符; 

​ 常见用法:

# wc /etc/passwd   50   94   2550 /etc/passwd   行数 单词数 字节数 # wc -l /etc/passwd   #统计行数很常用 # wc -w /etc/passwd   #统计单词出现次数 # wc -m /etc/passwd   #统计文件的字节数 

3.5、cut:

​ 切分内容。

​ 语法:

cut  [-bn]  或 cut [-c]   或  cut [-df]    主要参数   -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。   -c :以字符为单位进行分割。   -d :自定义分隔符,默认为制表符。   -f :与-d一起使用,指定显示哪个区域。 

​ 常用:

$ cat /etc/passwd|head -n 5|cut -d : -f 1,3-5 root:0:0:root bin:1:1:bin daemon:2:2:daemon adm:3:4:adm lp:4:7:lp  $ cat /etc/passwd|head -n 5|cut -d : -f 1,3-5,7 root:0:0:root:/bin/bash bin:1:1:bin:/sbin/nologin daemon:2:2:daemon:/sbin/nologin adm:3:4:adm:/sbin/nologin lp:4:7:lp:/sbin/nologin 

3.6、sort:

​ 排序命令。

​ 语法:

sort [-bcfMnrtk][源文件][-o 输出文件]   参数:   -b   忽略每行前面开始出的空格字符。   -c   检查文件是否已经按照顺序排序。   -f   排序时,忽略大小写字母。   -M   将前面3个字母依照月份的缩写进行排序。   -n   依照数值的大小排序。   -o   将排序后的结果存入指定的文件。   -r   以相反的顺序来排序。   -t  <分隔符>   指定排序时所用的栏位分隔字符。   -k  选择以哪个区间进行排序。 

​ 常用:

1 按文本排序 sort filename 2 按数字排序 sort -n 3 在输出内容中去除重复行 sort -u 4 反序   sort -r   5 指定列排序 sort -k 列号 -t 分隔符 

3.7、uniq:

​ 去重命令,可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。

​ 语法:

# uniq [-icu] 选项与参数: -i   :忽略大小写字符的不同; -c  :进行计数 -u  :只显示唯一的行 

​ 常用:

1 去重 cat words | sort |uniq 2 排序之后删除了重复行,同时在行首位置输出该行重复的次数: #sort testfile | uniq -c 3 仅显示存在重复的行,并在行首显示该行重复的次数: #sort testfile | uniq -dc 

3.8、grep:

​ 正则查找命令。

​ 用法:grep [options]

主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大 小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及 行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: : 忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 <:从匹配正则表达 式的行开始。 >:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即A符合要求 。 [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。 。:所有的单个字符。 * :有字符,长度可以为0。 

​ 常见使用:

1 grep root /etc/passwd   匹配文件中有root的行 2 grep ^root /etc/passwd  匹配文件中以root开头的行 3 grep -v root /etc/passwd 匹配文件中无root的行 4 grep -v ^$   test   过滤文件中的空行 5 grep '[239].' data      #输出所有含有以2,3或9开头的,并且是两个数字的行 

3.9、sed:

​ 替换/查找/删除命令

3.10、awk:

​ 文本分析命令

3.11、vi/vim:

​ 文本编辑器

四、任务操作:

4.1、at:

​ 在一个指定时间执行指定任务,仅执行依次,且需要开启atd进程

​ 常用:

1 三天后的下午5点钟执行date : at 5pm+3 days date 2 删除定时任务:     通过atq查看任务号     atrm 任务号 3 显示定时任务内容     at -c 任务号 

4.2、crontab:

​ linux下周期性的执行某种任务或等待处理某些事件的一个守护进程

​ 使用方式:

vim /etc/crontab 文件格式: minute   hour   day   month   week   command 其中:     minute: 表示分钟,可以是从0到59之间的任何整数。     hour:表示小时,可以是从0到23之间的任何整数。     day:表示日期,可以是从1到31之间的任何整数。     month:表示月份,可以是从1到12之间的任何整数。     week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。     command:要执行的命令,可以是系统命令,脚本文件。     特殊字符:         星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。         逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”         中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”         正斜线(/):可以用正斜线指定时间的间隔频率 

​ 命令格式:

crontab [-u user] file crontab [-u user] [ -e | -l | -r ] 参数:     -u user : 指定循环定时任务的用户     file : cronttab格式的文件     -e : 编辑某个用户的crontab文件,默认当点用户     -l : 显示内容     -r : 从/var/spool/cron目录中删除某个用户的crontab文件 

​ 常用:

1 每1分钟执行一次command 命令:     * * * * * command 2 每小时的第3和第15分钟执行 命令:     3,15 * * * * command 3 在上午8点到11点的第3和第15分钟执行 命令:     3,15 8-11 * * * command 4 每隔两天的上午8点到11点的第3和第15分钟执行 命令:     3,15 8-11 */2 * * command 5 每个星期一的上午8点到11点的第3和第15分钟执行 命令:     3,15 8-11 * * 1 command 

4.3、&/nuhup:

​ 任务置于后台。

​ 常用:

python test.py&   nuhup python test.py&   

五、网络操作:

5.1、ifconfig:

​ 查看设置网卡参数。

​ 命令格式: ifconfig [网络设备] [参数]

​ 常用:

ifconfig eth0 up/down   启用或关闭指定网卡 ifconfig eth0      显示网卡信息 ifconfig		查看所有网卡信息 

5.2、ping:

​ 通过ICMP(Internet控制消息协议)发送消息来验证是否能连通另一台主机。

​ 格式:

ping [参数] [主机名或IP地址] 参数:     -d 使用Socket的SO_DEBUG功能。     -f  极限检测。大量且快速地送网络封包给一台机器,看它的回应。     -n 只输出数值。     -q 不显示任何传送封包的信息,只显示最后的结果。     -r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。     -R 记录路由过程。     -v 详细显示指令的执行过程。     -s 设置数据包的大小 

5.3、netstat:

​ 查看网络状态。

​ 格式:

netstat [option] 参数:          -a: 显示所有     -n: 以ip形式显示     -p: 显示进程     -r: 显示路由表     -t: 只显示tcp     -u: 只显示udp     -i: 显示网络接口 

​ 常用:

1 netstat 2 netstat -nu 只显示udp / -t只显示tcp 3 netstat -r  显示路由表,作用同route   

5.4、route:

​ 查看路由以及增删路由。

​ 格式:

route [option] [action] 参数:     -n 不解析名字     -v 显示详细的处理信息     -f 清除所有网关入口的路由表。     -p 与 add 命令一起使用时使路由具有永久性。     add:添加一条新路由。     del:删除一条路由。     -net:目标地址是一个网络。     -host:目标地址是一个主机。 

​ 常用:

route -n  显示路由表 route add/del default gw 192.168.120.1  删除和添加设置默认网关 route add -net 172.25.0.0 netmask 255.255.0.0 dev eth0 添加网关 

5.5、traceroute:

​ 查看路由轨迹。

​ 格式:

traceroute[参数][主机] 参数:     -I 使用ICMP回应取代UDP资料信息。     -d 使用Socket层级的排错功能。     -s 设置本地主机送出数据包的IP地址。     -n 只显示IP 

​ 常用:

traceroute www.163.com traceroute -n www.163.com  显示IP地址,不查主机名 

5.6、nslookup:

​ 查询DNS记录,查看域名解析是否正常,网络故障时用来诊断。

​ 格式:

nslookup [-qt=type] domain [dns-server] type为 dns的解析记录,如mx为设置查询域名邮件交换记录 

​ 常用:

nslookup  baidu.com nslookup -qt=mx 163.com 8.8.8.8 

5.7、ssh:

​ 安全远程链接主机。

​ 格式: ssh [参数] 域名或IP地址

六、文件传输:

6.1、tftp:

​ tftp命令来自英文词组“Trivial File Transfer Protocol”的缩写,中文译为简单文件传输协议,其功能是基于TFTP协议进行的文件传输工作。用户可以通过文字模式将文件上传至远程服务器,亦可以从服务器下载文件到本地主机。

​ 语法:tftp [参数] 域名或IP地址

​ 常见指令:

connect: 连接远程TFTP服务器  mode: 文件传输模式  put: 上传指定文件  get: 下载指定文件  quit: 退出TFTP服务  verbose: 显示执行过程详细信息  trace: 显示包路径  status: 显示当前状态信息  binary: 二进制传输模式  ascii: ASCII传送模式  rexmt: 设置包传输的最长超时时间  timeout: 设置重传的最长超时时间  help: 显示帮助信息  ?: 显示帮助信息 

6.2、curl:

​ curl命令来自英文词组“CommandLine URL”的缩写,其功能是用于在Shell终端界面中基于URL规则进行的文件传输工作。

​ 语法格式:curl [参数] 网址URL [文件名]

​ 常见指令:

-a: 追加写入到指定文件  -A: 设置用户代理标头信息  -b: 设置用户Cookie信息 -d: 以HTTP POST方式传送数据 -o: 设置新的本地文件名 -O: 保留远程文件的原始名 -T: 上传指定文件  -u: 设置服务器的用户名和密码 

​ 示例:

获取指定网页源码: curl http://www.baidu.com 下载指定文件:	   curl -O http://www.baidu.com/robots.txt 打印指定网站的HTTP响应头信息: curl -I http://www.baidu.com 

6.3、wget:

​ 下载网络文件,从指定网址下载网络文件。wget命令非常稳定,一般即便网络波动也不会导致下载失败,而是不断地尝试重连,直至整个文件下载完毕。

​ 语法:wget [参数] 网址URL [对象]

​ 参考参数:同curl。

​ 示例:

下载指定网络文件	wget http://www.baidu.com/robots.txt 下载并保存在本地	wget -O baidurts.txt http://www.baidu.com/robots.txt  下载指定文件,限速最高每秒300k	wget --limit-rate=300k http://www.baidu.com/robots.txt 启动断点续传下载文件	wget -c http://www.baidu.com/robots.txt 

6.4、rsync:

​ rsync(remote sync):远程同步工具,用于远程数据同步。rsync命令能够基于网络(含局域网和互联网)快速地实现多台主机间的文件同步工作。

​ rsync默认服务器端口为873。

​ 语法格式:rsync [参数] 目录名

​ 常见参数:

-d: 不递归目录文件,不传输子文件  -D: 保留设备文件信息 -n: 显示将要传输的文件列表  -o: 保留文件原始所有者身份  -p: 保留文件原始权限信息  -P: 显示进度信息  -q: 使用精简输出模式  -r: 递归处理所有子文件  -R: 使用相对路径  -t: 保留文件时间信息  -v: 显示执行过程详细信息 

​ 示例:

将本地目录(/Dir)与远程目录(192.168.10.10:/Dir)相关联,保持文件同步:

[root@linuxcool ~]# rsync -r /Dir 192.168.10.10:/Dir [email protected]'s password: 此处输入远程服务器密码 

将远程目录(192.168.10.10:/Dir)与本地目录(/Dir)相关联,保持文件同步:

[root@linuxcool ~]# rsync -r 192.168.10.10:Dir /Dir [email protected]'s password: 此处输入远程服务器密码 

关联两个本地的目录,保持文件同步:

 [root@linuxcool ~]# rsync -r /Dir1 /Dir2 

列出远程指定目录内的文件列表:

 [root@linuxcool ~]# rsync 192.168.10.10:/Dir/ [email protected]'s password: 此处输入远程服务器密码