l一.linux重要命令汇总
1上线查询及帮助(2个)
#man 查看命令帮助
#help (help command 查看Linux内置命令的帮助)
[, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue,
declare, dirs, disown, echo, enable, eval, exec, exit, export, false, fc, fg, getopts, hash, help, history,
jobs, kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt,
source, suspend, test, times, trap, true, type, typeset, ulimit, umask, unalias, unset, wait - bash built-in
commands, see bash(1)
2.文件和目录操作命令(18个)
ls cd cp find mkdir mv pwd rename rm rmdir touch tree dirname basename chattr lsattr file md5sum
#ls 列出目录的内容及其内容属性信息
-l 长格式显示
-i 显示每个文件的inode号
-ld 长格式显示目录的属性
-F append indicator (one of */=>@|) to entries 对不同的类型加标识符
-p 给目录加斜线
-lrt 最后一个是最新文件 t 时间排序 r 倒着排
ls --colour=auto =ll 给不同加颜色
-a 显示隐藏文件 -A同a,不显示 .及..
-S 根据文件大小排序
-t 以文件修改时间排序
--time-style=long-iso 长时间格式
ls -lrt --time-style=long-iso|tail -5
#cd 切换目录
cd - 切换至上一次所在目录
cd ~ 回到用户家目录
#cp 复制文件或目录
[-aifpru] 源 目标
默认alias成cp -i,有重名时提示是否覆盖。#/bin/cp和#\cp 直接使用cp命令 不提示
-r 递归,用于复制目录
-p 保持属性
-a 相当于pdr
#find 查找
-type f文件、d目录 l连接、p管道、 c字符设备、b快文件、s socket文件
-a=and -o=or !=-not
-maxdepth find /home/ -maxdepth 1 显示n级目录层级
-perm find ./ -perm 644
-name find /home/ -name "*user*" 查找home目录下 包含user的文件和目录
-size find /boot -size +2M
-newer file1 !file2 new于file1,旧于file2
-atime(acess time) 文件访问时间
-ctime(change time) 文件的索引节点(即属性)发生改变时间。ls -lc filename
-mtime (modify time) 文件文本内容发生变化时间。ls -lu filename
注意:#stat filename 查看文件属性信息。
find常用用法:
find /目录 -type f或d -exec rm -f {} \; ==》“{”表示查找出的内容,“\”固定语法
find /目录 -type f或d | xargs rm -f
find /目录 -type f ! -name "filename" | xargs rm -f 排除保留一个文件
find /目录 -type f –mtime +7 |xargs rm –f 删除目录下 七天前的文件
#mkdir 创建目录
-p 递归创建目录
-m 777 创建目录权限为777
-v, 每次创建新目录都显示信息
#mv move(rename)移动或重命名文件
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;危险
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
#pwd 显示当前工作目录的绝对路径
#rename rename from to 重命名文件
批量改文件名 stu_102999_1.finished.jpg取掉finished [# for i in `seq 10`;do touch stu_102999_$i.finished.jpg;done创建实验数据
方法a、脚本实现
for f in `ls *finished*.jpg'
do
mv $f `echo $f | sed 's#finished##g'
done
==># for f in `ls *finished*`;do mv $f `echo $f |sed s#finished##g`;done
方法b、
ls *.jpg | awk -F "-finished" '{print "mv " $0,$1$2} |bash 逗号等于空格
ls *.jpg | awk -F "-finished" '{print "mv " $0 " " $1$2} |bash
方法c
# find ./ -type f -name "*.finished*" | sed -r 's#(.*).finished(.*)# mv & \1\2#g' | bash
方法d
rename ".finished" "" *.jpg 即把需要去除的内容置为空
#rm 删除一个或多个文件或目录
生产环境,尽量不用,一定要的话先备份,或者移动到一个临时目录,或者使用find 删除)
-f force无提示
-r 递归删除目录
#rmdir 删除空目录
#touch 创建新的空文件,改变已有文件的时间戳
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间
-a 或--time=atime或--time=access或--time=use只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
#tree以树形结构显示目录下的内容
通过yum install tree -y安装
-L 层数
-d 显示目录
#basename 显示文件名或路径名
#basename /usr/bin/sort ==> "sort"
#basename include/stdio.h .h ==> "stdio"
#dirname 显示文件或目录路径
#dirname /usr/bin/sort ==> "/usr/bin"
#dirname stdio.h ==> "."
#chattr 改变文件的扩展属性
chattr +i filename 文件不可变,不可删除
chattr +a filename 设置文件只能添加内容
#lsattr 查看文件扩展属性
#file 显示文件类型
#md5sum 计算和校验文件的md5值
#ln
硬链接#ln 源文件 目标文件
软连接#ln -s 源文件 目标文件
3.查看文件及内容处理命令(21个)
cat tac more less head tail cut split paste sort uniq wc iconv dos2unix diff vimdiff rev grep/egrep join tr vi/vim
#cat 查看文件内容 -n 显示行号
#cat >> filename <<EOF
内容……
EOF
#cat filename1 >>filename2
#cat filename1 filename2 >filename3
#tac 反向显示文件内容
#more 分页显示文件内容但不能向上回滚
#less 分页显示文件可向上回滚
#head 显示文件内容的头部 –n(显示的行数) 默认10行
#tail 显示文件内容的尾部 –n(显示的行数) 默认10行
-f 监控文件尾部输出(例:/var/log/message)
#cut 将文件的每一行按指定分隔符分割并输出 按列切割
-d 指定分割符
-f 数字选列
-c 按字符
例:echo "Linux slave 2.6.32-696.el6.x86_64" >test.txt
cut -d" " -f3 test1.txt
2.6.32-696.el6.x86_64
cut -d"." -f3 test1.txt
32-696
# split 分割文件为不同的小片段
#paste 按行合并文件内容
#wc 统计文件的行数、单词数或字节数
-c 统计字节数
-l 统计行数
-m 统计字符数,这个标志不能与 -c 标志一起使用。
-w 统计字数,一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度
#iconv 转换文件的编码格式
-l列出当前支持的字符编码
#dos2unix 将DOS文件内容转换成UNIX格式
#diff 比较文件的差异,常用于文本文件
#vimdiff 命令行可视化文件比较工具,常用于文本文件
#rev 反向输出文件内容
#grep/egrep 过滤字符串
#join 将两个文件的相同字段进行合并
#tr 替换或删除字符
#vi/vim 命令行文本编辑器
#tee 标准输入并创建拷贝副本
tee [OPTION]... [FILE]...
-a 追加
uname -a | tee -a uanme.txt 显示并追加到文件
4.文件压缩及解压命令(4个)
tar unzip gzip zip
#tar 打包压缩
-c 建立压缩文件
-x 解开压缩文件
-t 查看压缩文件
-z gzip压缩
-f file
--exclude=file 排除文件
-X 从文件排除 exclude from listfile
#unzip 解压文件
#gzip gzip压缩工具(扩展名为".gz")
#zip 压缩工具
5.信息显示命令(11个)
uname hostname dmesg uptime stat du df free date cal
#uname 查看操作系统相关信息的命令
-r 内核 -m 位 -n 主机名 -a 所有
#hostname 显示或临时设置当前系统的主机名
#dmesg 显示开机信息,用于诊断系统故障,查看内核打印的错误信息
dmesg是一种程序,用于检测和控制内核环缓冲。程序用来助用户了解系统的启动信息。
Linux命令dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中。可利用dmesg来查看。可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
dmesg | grep sd 过滤硬盘设备
dmesg | grep -i usb | head -15
dmesg | grep -i dma | head -15
dmesg | grep -i tty | head -15
dmesg | grep -i memory | head -15
dmesg -c #清ring buffer,不会清‘/var/log/dmesg’文件中的日志,连接新的设备都会产生dmesg日志输出。
#uptime 显示系统运行时间及负载
#du 显示磁盘空间的使用情况
-h:以人类可读的方式显示
-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
-s:只显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
-c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
-l :统计硬链接占用磁盘空间的大小
-L:统计符号链接所指向的文件占用的磁盘空间大小
#df 报告文件系统磁盘空间的使用情况
-h:以人类可读的方式显示
-i:显示inode信息
-T:显示出文件系统类型
--sync:先执行sync后统计使用信息
#date 显示与设置系统时间 date +%H:%M:%S 06:17:33
date +%F 2017-02-19
date +%Y/%m/%d 2017/02/19
date +%F -d "+2day" 2017-02-21
date +%F -d "-2day" 2017-02-17
#cal 查看日历
6.搜索文件命令(4个)
which find whereis locate
#which 查找二进制命令,按环境变量PATH路径查找
搜索全局变量PATH的路径(小窍门:在某目录建立文件并加可执行,并且export PATH临时加入路径,就可以which了)
which cp
alias cp='cp -i'
/bin/cp
#find 从磁盘遍历查找文件或目录
查找当前目录下以log结尾的大于50k小于2M的普通文件
find -type f -name "*.log" -size -2M -size +50k
查找条件中小于50k大于2M是或的逻辑
find -type f -name "*.log" \( -size +2M -o -size -50k \)
#whereis 查找二进制命令,按环境变量PATH路径查找
[root@node81 home]# whereis cp
cp: /bin/cp /usr/share/man/man1/cp.1.gz/usr/share/man/man1p/cp.1p.gz
#locate(设置列gid)从数据库(/var/lib/mlocate/mlocate.db)查找命令,使用updatedb更新库
7.用户管理命令(10个)
useradd usermod userdel groupadd passwd chage id su sudo visudo
#useradd 添加用户
-g 指定组(不再创建自身组)
-G 定义为多个组,逗号分开
-M 不创建家目录
-u 指定uid
#usermod 修改系统已经存在的用户属性
-c 建立时可以对账号进行描述 已有的用usermod -c
-d 指定家目录
-e 账号过期时间
-f 几日后停权
-m 指定家目录
-s 指定shell
#userdel 删除用户
-r 删除用户连家目录
#groupadd 添加用户组 groupdel
#passwd 修改用户密码
#chage 修改用户密码有效期限
-l username 查看用户账号密码过期信息
-E 更改账户过期时间
#id 查看用户的uid、gid及其所归属的用户组
useradd gtms -G root
id gtms
uid=500(gtms) gid=500(gtms) groups=500(gtms),0(root)
#su 切换用户身份
#visudo 编辑/etc/sudoers文件的专属命令
#sudo sudo授权后,执行命令时需要命令前带sudo
8.基础网络操作命令(11个)
telnet ssh scp wget ping route ifconfig ifup ifdown netstat ss
#telnet 使用telenet协议远程登录
#ssh 使用ssh加密协议远程登录
#scp 用于不同主机之间复制文件
-P 指定端口
#wget 命令行下载文件
--spider URL 爬虫,检查网站是不是好的,不下载
--tries 指定重试的次数
-q
-T,–timeout=SECONDS 设置超时时间
-r,–recursive 下载整个网站、目录(小心使用)
–http-user=USER 设置HTTP用户
–http-passwd=PASS 设置HTTP密码
–proxy-user=USER 设置代理用户
–proxy-passwd=PASS 设置代理密码
#ping 测试主机之间网络的连通性
-c 指定次数
-i 指定间隔
-R 显示路由过程
-I 指定网络接口
#route 显示和设置linux系统的路由表
route add default gw {IP-ADDRESS} {INTERFACE-NAME} 设定默认路由
route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev
{INTERFACE-NAME}指定网络的路由规则
http://oldboy.blog.51cto.com/2561410/1119453 http://oldboy.blog.51cto.com/2561410/974194
#ifconfig 查看、配置、启用或禁用网络接口的命令
#ifup 启动网卡
#ifdown 关闭网卡
#netstat 查看网络状态
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
netstat -lntup
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
#ss 查看网络状态
9.深入网络操作命令(9个)
nmap lsof route mail mutt nslookup dig host tracerroute tcpdump
#nmap 网络扫描命令
nmap [Scan Type(s)] [Options] {target specification}
nmap 192.168.0.1-100 扫描地址段
--exclude ip 排除ip
-p 扫描指定端口
-sV 扫描时显示打开的服务版本号
#lsof 列举系统中已经被打开的文件
lsof /boot
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 1787 root cwd DIR 8,1 1024 12 /boot/grub
vi 1815 root cwd DIR 8,1 1024 12 /boot/grub
vi 1815 root 4u REG 8,1 12288 39 /boot/grub/.grub.conf.swp
lsof -p 30297 显示那些文件被pid为30297的进程打开
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr| more 查看各个进程打开文件句柄的数目,若进程打开文件句柄的数目超过系统限制,则相应进程不能正常服务
lsof命令后直接接文件名,可以查到该文件被哪些进程打开:
lsof -i:port 查看端口
#mail 发送和接收邮件
-s 邮件标题
mail -s test admin@aispider.com 编辑完内容后Ctrl-D结束
echo “mail content”|mail -s test admin@aispider.com
mail -s test admin@aispider.com< file
yum install -y sharutils带附件
uuencode /home/log.txt log.txt | mail -s logstat admin@aispider.com
#mutt 邮件管理命令
#nslookup 交互式查询互联网DNS服务器的命令
监测网络中DNS服务器是否能正确实现域名解析的命令行工具
#dig 查找DNS解析过程
查询域名的A记录 CNAME,MX记录信息
#host 将域名解析为ip
#tracerroute 追踪数据传输路由的状况,网络数据包的路由途径
#tcpdump 命令行的抓包工具
10.有关磁盘与文件系统的命令(16个)
mount umount fsck dd dumpe2fs dump fdisk parted mkfs partprobe
e2fsck mkswap swapon swapoff sync resize2fs
#mount 挂载文件系统
cat /proc/mounts 查看内核追踪到的已挂载的所有设备
命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要挂载的设备;
(1) 设备文件:例如/dev/sda5
(2) 卷标:-L 'LABEL', 例如 -L 'MYDATA'
(3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
(4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
常用命令选项:
-t vsftype:指定要挂载的设备上的文件系统类型;
-r: readonly,只读挂载;
-w: read and write, 读写挂载;
-n: 不更新/etc/mtab;
-a:自动挂载所有支持自动挂载的设备;定义在/etc/fstab,且挂载选项中有“自动挂载”功能
-L 'LABEL': 以卷标指定挂载设备;
-U 'UUID': 以UUID指定要挂载的设备;
-B, --bind: 绑定目录到另一个目录上;
-o options:(挂载文件系统的选项,逗号分隔,defaults:rw, suid, dev, exec, auto, nouser, and async)
async:异步模式;
sync:同步模式;
atime/noatime:包含目录和文件;
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载
exec/noexec:是否支持将文件系统上应用程序运行为进程
dev/nodev:是否支持在此文件系统上使用设备文件;
suid/nosuid:是否支持在此文件系统上使用特殊权限
remount:重新挂载
ro:只读
rw: 读写
user/nouser:是否允许普通用户挂载此设备
acl:启用此文件系统上的acl功能
/etc/fstab 出错 无法修改
需要重新挂载根分区
mount -o remount,rw /
然后再修改即可
#umount 卸载文件系统
umount –lr /mnt 强制卸载
#fsck 检查并修复linux文件系统
不要检查好的磁盘,切记卸载状态检查
-a:自动修复文件系统,不询问任何问题;
-A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;
-C : 显示完整的检查进度
-N:不执行指令,仅列出实际执行会进行的动作;
-P:当搭配"-A"参数使用时,则会同时检查所有的文件系统;
-r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
-R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查;
-s:依序执行检查作业,而非同时执行;
-t<文件系统类型>:指定要检查的文件系统类型;
-T:执行fsck指令时,不显示标题信息;
-V:显示指令执行过程。
#dd 转换或复制文件
#dumpe2fs 导出ext2/ext3/ext4 文件系统信息
#dump ext2/ext3/ext4 文件系统备份工具
#fdisk 磁盘分区命令,适用于2TB以下的磁盘分区
#parted 磁盘分区命令,没用磁盘大小的限制,常用于2TB以上的磁盘分区
6块600g raid5 损失一块盘共3T,raid界面做部分做虚拟磁盘 200G分区装系统。其他parted分区
GPT分区:
GPT,全局唯一标识分区表(GUID Partition Table),GUID,与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区。GPT可管理硬盘大小达到了18EB(1EB=1024PB=1,048,576TB),不过NTFS格式最大仅支持256TB。(大于16T 使用XFS e2fsprogs)
[root@localhost ~]# rpm-qf `which parted`
parted-3.1-20.el7.x86_64
查看parted命令的帮助信息:
[root@localhost ~]#parted --help或
[root@localhost ~]#parted
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted!Type 'help' to view a list of commands.
(parted) help
(parted) quit #退出
#开始通过parted工具来对磁盘进行操作
[root@localhost ~]#parted -l
[root@localhost ~]#parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted!Type 'help' to view a list of commands.
(parted) p #查看磁盘分区状态
Error: /dev/sdb:unrecognised disk label
(parted) mklabel #指定创建分区表类型为GPT
New disk label type? gpt
(parted) mkpart #创建分区
Partition name? []? mydisk1
File system type? [ext2]? #指定分区文件系统类型,默认就可以,因为后期对分区进行格式化的时候,同样可以指定
Start? 1 #指定分区起始位置
End? 100M #指定分区结束位置
(parted) p #查看磁盘分区状态
Number Start End Size File system Name Flags
1 1049kB 99.6MB 98.6MB mydisk1
(parted) mkpart
Partition name? []? 2
File system type? [ext2]?
Start? 100M
End? 200M
(parted) p
Model: VMware, VMwareVirtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size(logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 99.6MB 98.6MB mydisk1
2 99.6MB 200MB 101MB 2
(parted) quit
Information: You mayneed to update /etc/fstab.
parted快速分区
parted /dev/sdb mklabel gpt yes
parted /dev/sdb mkpart primary ext4 1 1000 ignore
parted /dev/sdb mkpart primary ext4 1001 2000 ignore
parted /dev/sdb p #查看
#mkfs 格式化创建linux文件系统
-t<文件系统类型> 指定要建立何种文件系统;
-c: 在制做档案系统前,检查该partition是否有坏轨。
#partprobe 更新内核的硬盘分区表信息
#e2fsck 检查ext2/ext3/ext4 类型文件系统 umount状态,根目录则需要单用户模式
-a: 检查 partition,如发现问题会自动修复。
-b: 设定 superblock 位置。 www.2cto.com
-B size: 指定 size 作为区块大小。
-c: 检查 partition 是否有坏轨。
-C file: 将检查结果储存到 file。
-d: 输出 e2fsck debug 结果。
-f: e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查。
-F: 在检查前将硬盘的 buffer cache 清空,避免发生错误。
-l list: 记录了坏轨区块加入 list 中。
-d : 打印 e2fsck 的 debug 结果。
-f : 强制检查。
-n: 以 (read-only) 开启档案系统
-p: 关闭互动模式,如有问题自动修复,等同 -a。
-v: 显示详细报告。
-y: 启用使用者互动模式。
#mksswap 创建linux交换分区
#swapon 启用交换分区
#swapoff 关闭交换分区
#sync 将内存缓存区的数据写入磁盘
#resize2fs 调整ext2/ext3/ext4 文件系统的大小
11.系统及用户权限相关命令(4个)
chmod chown chgrp umask
#chmod 改变文件或目录权限
chmod u+x,g=x,o-x filename
-R 递归
#chown 改变文件或目录的属主和属组
-R 递归
chown root /u
chown root:staff /u
chown -hR root /u
#chgrp 更改文件用户组
-R 递归
chgrp staff /u
chgrp -hR staff /u
#umask 显示或设置权限密码
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是 umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置 的是权限“补码”,而chmod设置的是文件权限码。一般可在/etc/profile、/etc/bashrc、 $[HOME]/.bash_profile、$[HOME]/.profile或$[HOME]/.bashrc中设置umask值。
文件默认权限=666减umask
目录默认权限=777减umask
umask: umask [-p] [-S] [mode]
[root@shell ~]# umask -p
umask 0022
[root@shell ~]# umask -S
u=rwx,g=rx,o=rx
12.查看系统用户登录信息的命令(7个)
whoami who w last lastlog users finger
#whoami 显示当前有效的用户名称 id -un
#who 显示目前登录系统的用户信息
#w 显示已经登录系统的用户列表,并显示用户正在执行的命令
#last 显示登录系统的用户
#lastlog 显示系统中所有用户最近一次登录的信息
#users 查看当前登录系统的所有用户的用户列表
#finger 查找并显示用户信息 (需要yun install)
13.内置命令及其他(19个)
echo print rpm yum watch alias unslias date clear history eject time nc xargs exec export unset type bc
#echo 打印变量或者直接输出指定的字符串
#printf 将结果格式化输出到标准输出
#rpm 管理rpm包命令
#yum 自动化简单化地管理rpm包的命令
#watch 周期性地执行给定的命令,并将命令的输出以全屏的方式显示
#alias 设置系统别名
#unalias 取消系统别名
#date 查看或设置系统时间
date +%F\ %T
2017-06-22 10:52:22
date +%F\ %H:%M:%S
2017-06-22 10:52:51
date +%F
2017-06-22
date +%F -d -1day
2017-06-21
date +%F -d +1day
2017-06-23
%w 按周 周日为0 (日志按周轮询)
#clear 清屏
#history (配置文件需要source)/etc/profile ~/.bash_history
默认1000 相对来说越少越安全
history -c清空历史记录
history -d 数字,清除那一行
export HISTSIZE=10 临时控制当前历史记录回滚数
export HISTFILESIE=10 临时控制历史记录文件的命令数量变量cat ~/.bash_history
#eject 弹出光驱
#time 计算命令执行的时间
#nc 功能强大的网络工具
#xargs 将标准输入转换成命令行参数
#exec 调用并执行指令的命令
#export 设置或显示环境变量
#unset 删除变量或函数
#type 用于判断另外一个命令是否为内置命令
#bc 命令行科学计算器
14.系统管理与性能监视命令(9个)
chkconfig vmstat mpstat iostat sar ipcs ipcrm strace ltrace
#chkconfig 管理linux系统开机启动项
#vmstat 虚拟内存统计
#mpstat 显示各个可用CPU的状体统计
#iostat 统计系统IO
#sar 全面获取系统的CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断和网络等性能数据
#ipcs 用于报告linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息
#ipcrm 用来删除一个或更多的消息队列、信号量集或共享内存标识
#strace 用于诊断、调试linux用户空间的跟踪器,也可用于监控用户空间进程和内核交互,比如系统调用、信号传递、进程状态变更等
#ltrace 命令会跟踪进程的库函数调用,并显现出哪个库函数被调用
15.关机/重启/注销(6个)
shutdown halt poweroff logout exit ctrl+d
#shutdown 关机 -r now
#halt 关机
#poweroff 关闭电源
#logout 退出当前登录的shell
#exit 退出当前登录的shell
#ctrl+d 退出当前登录的shell的快捷键
16.进程管理相关命令(15个)
bg fg jobs kill killall pkill crontab ps pstree nice nohup pgrep runlevel init service
# bg(background) 将一个在后台暂停的命令,变成继续执行,如果后台有多个命令,可以用bg % job号将选中的命令调出,%job号是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
# fg(foreground) 将后台中的命令调至前台继续运行,如果后台有多个命令,可以用fg % job号将选中的命令调出,%job号是通过jobs命令查到的 后台正在执行的命令的序号(不是pid)
# jobs 查看当前有多少在后台运行的命令
# & 这个用在一个命令的最后,可以把这个命令放到后台执行
# ctrl+z 将一个正在前台执行的命令放到后台,并且暂停
# kill 终止进程
#killall 通过进程名终止进程
#pkill 通过进程名终止进程
#crontab 定时任务命令
#ps 显示进程的快照
ps -ef | head -3
ps aux | head -3
#pstree 树形显示进程
#nice 调整程序运行的优先级
#nohup 忽略挂起信号运行知道的命令
该命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。该命令的一般形式为: nohup conmmand &
#pgrep 查找匹配条件的进程
#runlevel 查看系统当前的运行级别
#init 切换运行级别
#service 启动、停止、重新启动的关闭系统服务
显示所有系统服务的当前状态