linux常见命令(分类展示),软链接:相当于Win


一、文件管理:

1.1、ls:

​ 显示文件/目录属性

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

1.2、cd:

​ 切换目录

cd /

1.3、pwd:

​ 显示当前目录

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

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: 仅查找源代码文件

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:

​ 查看系统负载:

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

2.10、free:

​ 显示内存使用:

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

第一行:    内存总计      已经使用      空闲       多个进程共享的内存总额    缓冲     缓存     
第二行:    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] [file] 或 cut [-c] [file]  或  cut [-df] [file]
  主要参数
  -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 root@192.168.10.10's password: 此处输入远程服务器密码

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

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

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

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

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

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

相关内容