- A+
- 1.1、ls:
- 1.2、cd:
- 1.3、pwd:
- 1.4、mv/cp:
- 1.5、rm/rmdir:
- 1.6、mkdir/touch:
- 1.7、ln:
- 1.8、chown/chgrp/chmod:
- 2.1、uname:
- 2.2、shutdown/halt/reboot/init:
- 2.3、useradd/adduser:
- 2.4、userdel:
- 2.5、usermod:
- 2.6、passwd:
- 2.7、which/whereis/locate:
- 2.8、find:
- 2.9、uptime:
- 2.10、free:
- 2.11、ps:
- 2.12、top:
- 3.1、cat/tac:
- 3.2、less/more:
- 3.3、head/tail:
- 3.4、wc:
- 3.5、cut:
- 3.6、sort:
- 3.7、uniq:
- 3.8、grep:
- 3.9、sed:
- 3.10、awk:
- 3.11、vi/vim:
- 4.1、at:
- 4.2、crontab:
- 4.3、&/nuhup:
- 5.1、ifconfig:
- 5.2、ping:
- 5.3、netstat:
- 5.4、route:
- 5.5、traceroute:
- 5.6、nslookup:
- 5.7、ssh:
- 6.1、tftp:
- 6.2、curl:
- 6.3、wget:
- 6.4、rsync:
一、文件管理:
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] 或 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 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: 此处输入远程服务器密码