linux常用命令

1、mkdir 创建目录(make directory),例如:mkdir /data, -p 同时创建多个空目录
-p递归创建目录 如果mkdir创建目录,如果重复创建会提示存在了。
2、cd 切换目录(change directory),例如:cd /
. 当前目录 ..上级目录 - 上次的目录 cd - 切换到上一次所在目录
cd /tmp/;mkdir test1 分号作用:2条命令在一行执行
3、touch 创建文件 . touch {a..g}.txt,touch {0..9}.txt
如果touch创建文件,如果重复创建不会提示存在,也不会覆盖,更改文件时间戳(时间属性)
4、ls 查看目录下的内容(列表),
-l(long)以长格式显示文件信息。
-h 查看文件大小(人类可读)
-F在文件结尾加不同的标识,
-p给目录结尾加斜线,
-d 列目录属性。
-i 查看inode
-r反转排序,排序
-t按修改时间排序
--color=auto让不同的文件显示不同事的颜色。
-time-style=long-iso
-a(all)显示所有文件(包含隐藏文件),默认开头的文件都是隐藏文件 ls v-lrt /etc *****
-S 按文件大小排序
5、vi 就是类似记事本一样的linux下的常用编辑器*****,
6、vim 类似高级的编辑器例如emeditor***** vim /root/.bashrc , alias rm='rm -i' ###删除这一行
7、cat 查看文件内容。 例如:cat oldboy.txt
-n 显示行号 例如:cat -n /etc/hosts
cat >>/data/test.txt<<EOF
>test
>liyao
>oldboy
>EOF
cat test.txt|grep -v "oldboy" ###不专业,脱裤子放屁
8、echo 是一个打印输出内容的一个常用命令,配合“>或>>”可以为文件覆盖及追加内容,这个命令可要掌握呦。
“>”意思为重定向,会清除文件里所有以前数据,“>>”为内容追加,只在文件尾部追加需要的内容,
还有一个较复杂不常用的类似命令printf。
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: \n 换行且光标移至行首(换行); \t 插入tab。
* 通配符 :显示当前目录下所有东西
例子:[root@oldboy ~/oldboy]# echo -e "oldboy\noldboy"
oldboy
oldboy
[root@oldboy ~/oldboy]# echo "oldboy\noldboy"
oldboy\noldboy
[root@oldboy ~/oldboy]# echo -e "oldboy\toldboy"
oldboy oldboy
echo "ui
> yi
> bi
> li">/data/oldboy.txt
9、printf 是一个比较复杂的打印输出内容的一个常用命令
10、cp 拷贝文件或目录(copy)
-i操作前确认 例子: cp /etc/hosts /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/
-a 相当于-pdr
-r 递归,复制目录,目录及其子孙后代。
11、pwd 打印工作目录,print work directory
12、mv move(移动文件或目录)或者是重命名
13、rm remove删除文件或目录,
-f强制删除,
-r递归,删除目录
-i:操作前确认。
14、find 查找,
-type类型 f(file)文件,d(directory)目录。
-name 按文件名查找
-exec对找到的结果处理。{} \;
-mtime 按修改时间查找+7 7天以前,7第七天 -7最近7天。
-size 文件大小 -mmin 按分钟查找
-maxdepth 最大深度,层次
-o或者
!取反 *****
第一步:看看里面内容, ls /data, find /data -type f -name "*.txt"
第二步:find /data -type f -name "*.txt"|xargs
第三步:删除, find /data -type f -name "*.txt"|xargs ls -l
[root@oldgirl data]# find /data/ -type f -name "*.log" | xargs ls -l
[root@oldgirl data]# find /data/ -type f -name "*.log" -exec ls -l {} \;
15、xargs 分组功能,配合find等,可以实现把找到的内容作为后面命令处理的源。
-n 几个数字一分组(分组) 例子:xargs -n2 </data/oldboy.txt
16、grep 过滤,类似筛子,
-v排除。
-E(egrep) 扩展的grep,同时过滤多个字符串,用|分隔字符串。
-n 对匹配的内容打印行号。
-i 不区分大小写。
--color=auto 给匹配的字符串加颜色。 linux三剑客老三(awk,sed,grep)。 例子:grep -v "oldboy" test.txt grep -A10 "20" ett.txt
#Context control:
-B(before) 除了显示匹配的一行之外,并显示该行之前的num行(包含匹配的行)
-A(after) 除了显示匹配的一行之外,并显示该行之后的num行(包含匹配的行)
-C(context) 除了显示匹配的一行之外,并显示该行之前后各num行(包含匹配的行)
《跟老男孩学Linux三剑客》,《sed and awk》
17、head 头 头部 显示文件的前n行,默认显示前10行,head -n 5(head -5)
18、tail 尾 尾部 显示文件的后n行,默认显示后10行,tail -n 5(tail -5)
-f(显示文件最新追加的内容)跟随一个文件尾部的内容变化, 如果这个文件不存在, 它会提示没有这个文件 并退出(显示文件最新追加的内容)
-F 是不管这个文件存不存在它都会监控
tailf 当监控的这个文件有变动时它才会访问这个文件
19、which 查看命令所在路径
20、alias 查看和设置别名(*在命令的前面加上全路径或反斜线可以跳过系统别名)例子:alias rm='echo command not found' alias rm='rm -i' ###删除这一行
别名的作用:1、简单的内容,替代复杂的内容。高尔基:阿列克塞·马克西莫维奇·彼什科夫
2、防止用户误操作
\cp /data/test.txt /tmp/ /bin/cp /data/test.txt /tmp/
21、unalias 取消别名
22、seq sequence==seq序列。打数字序列。 例子: seq 100 >ett.txt
23、sed stream editer 流编辑器,linux三剑客老二(awk,sed,grep)增删改查。 例子: sed -n '20,30p' ett.txt find /data -type f -name {*.sh} |xargs sed -i 's#sdfs#kjdk#g'
-n取消默认输出,
p(print)打印
-i改文件内容,
s常说的查找并替换,g与s联合使用时,当前行全局替换
24、awk 过滤、输出内容,一门语言,按列是特长,默认过滤空格 。默认打印全行。 例子: awk 'NR>=20&&NR<=30' ett.txt awk 'NR>19&&NR<31' ett.txt awk '{if(NR<31 && NR>19) printf $0"\n"}' s.txt
awk -F '[ :]+' '{print $3$5$7}' oldboy.txt
awk -F ':' 'NR==1{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd 这是一行更换
awk -F ':' '{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd 这是所有行更换
1、NR是行号,&&意思是并且,两边同时成立。
2、$0表示整行内容,$1 第一列,$2 第二列, $NF 最后一列,倒数第二列$(NF -1)。
3、-F指定分隔符
25、rmdir 删除空目录。
26、man 查看命令等的帮助信息
27、setenforce 设置SElinux(安全)状态
28、getenforce 查看SElinux状态
29、runlevel 查看系统的运行级别(查看你的个人状态 单身、已婚、离异)
30、init 修改运行级别(切换运行级别,后面接对应级别的数字) 例如:init 6就是重启linux服务器了
31、chkconfig 管理开机自启动服务。
使用范例:
chkconfig --list #列出所有的系统服务
chkconfig --add httpd #增加httpd服务
chkconfig --del httpd #删除httpd服务
chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig --list mysqld #列出mysqld服务设置情况
chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级
32、date 查看时间 %H : 小时(00..23) %M : 分钟(00..59) %S : 秒(00..61) %y : 年份 %m : 月份 (01..12) %d : 日 (01..31) %Y : 完整年份
-s 设定时间(F表示年月日 T表示时分秒)
[root@oldboy ~/oldboy]# date +%y-%m-%d 显示现在年月日
16-09-02
[root@oldboy ~/oldboy]# date +%Y-%m-%d [root@oldboy ~]# date +%F -d "-1day" //显示前一天的日期
2016-09-02
[root@oldboy ~/oldboy]# date +%F\ %T
2016-09-02 11:51:23
33、history 历史记录相关
-c清空所有历史,
-d删除指定历史记录(指定偏移量) [root@web01 mysql]# history -d 468
34、ulimit 修改shell的资源限制(ulimit -HSn 65535)
35、useradd 添加用户 语法:useradd 用户名 例子:useradd oldboy
usermod 修改用户属性(用于修改用户的基本信息)
userdel 删除用户
-r 连带家目录邮件目录等一起删除
groupadd 添加用户组(groupadd incahome 添加incahome的用户组)
groupdel 删除组
groupmod 修改组的权限
36、passwd 为用户设置或修改密码 例子:passwd oldboy 为oldboy设置修改密码,直接passwd是当前用户修改密码
passwd: 所有的身份验证令牌已经成功更新。
--stdin 从stdin读入密码(echo 1111|passwd --stdin oldgirl)
chpasswd 设置密码,密码格式:用户名:密码 echo oldgirl:1111|chpasswd
37、su 切换用户/角色切换(su - oldboy) su - root 角色切换
-c 指定用户下执行命令
sudo 可以通过授权普通用户提升为root角色执行相关命令或任务。
-l 查看权限
-k 清楚时间戳
sudo ls 授权、 封官
visudo 修改sudo文件,/etc/sudoers,
-c 检查语法
38、chattr 更改文件属性(-i,-a) -i 不能进行任何操作
39、lsattr 查看chattr更改后的属性
40、tree 以树形的格式列目录的内容 yum install tree -y 安装tree的方法
-L level tree -L 1 / (-L 层数或级别)
-d 只显示目录
41、reboot 重启系统(init 6,shutdown -r now)
42、halt 关机(init 0,shutdown -h now)
43、ifup 启动
44、hostname 显示和设置主机名 默认显示主机名,设置主机名可以hostname名字(临时生效)
46、source 让配置文件生效(/ect/profile)
47、whoami 查看当前的用户是什么
48、uname 打印系统信息
-m 32位或64位
-r 内核版本
-a(all)所有
-n 显示主机名
49、shutdown (halt、init 0)关机
关机:shutdown -h now 立刻关机 重启:shutdown -r now 立刻重启
50、df 查看磁盘使用情况(查看分区挂载以及使用情况)*****
df -h 是查看block信息,-h(human-readable)
df -i 是看inode节点信息。
-T 文件类型
51、cut 切割
-d指定分隔符
-f指定列
-c取字符
52、wc 统计行数,字符,字节
-l统计行数
-c 统计字节
-m 统计字符
-L 计算最长行的长度
-w 统计单词数量
53、set nu 显示行号 set nonu 关闭行号
54、tar 筐(把你要的东西打包进去)
① -c 创建tar包。
②-f 指定tar包名字。例:tar -cf etc.tar.gz etc
③-z 调用gzip命令压缩tar包。例:tar -zcf etc.tar.gz etc
④-v 显示详细信息。例:tar -zcvf etc.tar.gz etc或tar zcvf etc.tar.gz etc
⑤--exclude=文件 不打包这个文件。例:tar zcvf etc_exclude.tar.gz etc --exclude=etc/services
⑥-t 不解压查看tar包内容.例:tar zxf etc.tar.gz -C /tmp
⑦x 解包
⑧-C 指定解压路径。例:tar xf etc.tar.gz -C /tmp tar命令他会自动识别你这个包是用gzip还是其他压缩命令压缩的
⑨-p 保持属性
-h 打包链接文件
压缩:zcvf(zcf) 解压:zxvf(zxf) 不解压查看:tf
例子:[root@oldboy ~]# tar zcvf oldboy_$(date +%F).tar.gz ./oldboy
55、gzip 打包压缩(后面备份数据库用到) 解压:gunzip (tar z了解即可)
56、bzip2 (tar j 了解即可)
57、zip 压缩(了解即可) 解压:unzip
58、file 查看文件类型
59、du 计算文件空间使用率(查看文件及目录大小)***** ls -lh 查看的4.0 大小是block du -sh 查看的是文件大小
-s(summarize)
-h(humen)
60、stat 显示文件详细信息或文件系统状态 (stat /etc/hosts 取出文件结果)
61、rename 批量修改文件名
62、whereis 查找命令路径及帮助
63、locate 查找命令路径及帮助
64、fdisk -l 可以查看(swap)分区大小
65、free -m 查看(swap)分区和内存的大小及使用情况。
66、lsof -i :80 查看是否开启80端口【-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )】
netstat -anltup|grep 80 查看是否开启80端口
netstat -anltup|grep sshd 查看sshd进程是否存在
67、chmod 修改文件权限 -R 递归,
68、id 显示指定用户或当前用户的用户与组信息(查看用户的信息)
69、chown(change owner)改变文件或目录的所属关系 -R递归
change file owner and group 设置用户和用户组
70、umask 设置默认权限(是需要被减去的文件666,目录是777)
71、updatedb 更新数据库
72、ps 查看进程(process)
ps -ef 例: ps -ef|grep crond|grep -v grep
-auxww
73、PS1 用户的环境变量([root@ll ~]#)
74、kill 删除执行中的程序或工作
75、ifconfig 查看网卡信息
76、top 查看服务器负载
77、sshd 是openssh软件套件中的服务器守护进程。
78、chage 更改密码属性的。
-l 查看用户密码属性
-E(useradd -e)
79、w 显示目前系统登录用户
who 显示目前已登录用户信息
80、last 列出目前与过去登入系统的用户相关信息
lastlog 检查某特定用户上次登录时间
logname 查看自己登陆系统的用户名
81、users 查看系统登录的用户名
82、od 读取八进制信息 od - dump files in octal and other formates
83、sync 把数据刷到磁盘中 sync - fiush file system buffers
84、fdisk 查看及修改磁盘分区(修改64字节的分区表,适合给小于2T的磁盘分区,适合mbr分区表)*****
-l 列表(查看系统的分区信息)
-cu 磁盘分区
85、parted 擅长给大于2T的磁盘分区,可以对小于2T的次哦按分区 适合gpt格式化分区表
partprobe /dev/sdb 让这个硬盘分区生效

86、mklabel 修改分区格式
87、mkfs 格式化创建文件系统 mkfs.ext4 -b 4096 -I 256 /dev/sdb1
-t ext4(mkfs.ext4)
88、dd 创建虚拟的文件系统(或磁盘) dd 性能测试******
bs=BYTES read and write BYTES bytes at a time (also see ibs=,obs)
count=N copy only N input blocks
if=FILE read from FILE instead of stdin
of=FILE write to FILE instead of stdout
dd if=/dev/zero of =/dev/sdc bs=4k count=25000
89、fsck 磁盘检查(卸载)(e2fsck) ***
90、dumpe2fs 查看ext文件系统信息***
91、tune2fs 修改文件系统信息
92、resize2fs 调整文件系统大小(LVM,drbd)
93、hdparm 测试这块硬盘的读取性能
94、mount 挂载 -t(type)指定类型
-o选项*****
95、umount 卸载 挂载点(-lF)强制卸载*****
96、swapon/swapoff 使用swap分区,例如:swapon /dev/sdb1
97、mkfs.ext4(mkfs -t ext4) 格式化 -bblock -Iinode***
98、mkswap 格式化swap分区
99、partprobe 把分区表的修改变化通知内核***
100、parted 分区工具(常用大于2T)***
101、megacli DELL查看raid信息工具***
102、ipmitools 查看硬件信息工具***
103、iozone 磁盘测试
104、fio IOPS测试
105、killall 进程名字(杀掉进程) 控制进程
106、pkill 进程名字(杀掉进程) 控制进程
107、kill 进程号(杀掉进行的进程)控制进程
108、pstree 显示进程状态树
109、top 显示进程
110、nice 改变优先权
111、nohup 用户退出系统之后继续工作
112、pgrep 查找匹配条件的进程
113、strace 跟踪一个进程的系统调用情况
114、ltrace 跟踪进程调用库函数的情况
115、dig DNS解命令
116、nslookup DNS解命令
117、hosts DNS解命令
118、diff 比较工具
119、vimdiff 比较工具
120、配置ip
ifconfig eth0:0 10.0.0.101/24 up
ip addr add 10.0.0.102/24 dev eth0 label eth0:1
删除ip
ifconfig eth0:0 down
ip addr del 10.0.0.102/24 dev eth0 label eth0:1
121、curl 文件传输工具(可以用来测试域名能否使用)
-s 静默模式,不输出任何东西
-o 把输出写到该文件中
-I 只显示请求头信息
-w 什么输出完成后
122、mysql MySQL数据库服务器的客户端工具
-p:连接MySQL服务器的密码。
123、mysqldump mysql数据库中备份工具
-u:用户名(-uroot)
-A:备份所有的库
124、sz 往电脑里传东西
125、rz 电脑上传到linux里
126、lscpu 查看CPU信息
127、uptime 查看系统负载信息
128、top 实时查看系统负载情况
129、htop top命令升级版
130、w 查看系统负载情况
131、mpstat 2 查看每两秒的CPU负载
132、free -h 查看系统内存
133、vmstat 1 每秒中刷新内存使用情况
134、iotop 实时查看系统的I/O
135、iftop 查看网络情况
136、iftop -n 不解析
137、iftop -ni eth1 指定网卡
138、netstat -tunlp 查看网络状态
139、ss -tunlp 同上


top //每隔5秒显式所有进程的资源占用情况
top -d 2 //每隔2秒显式所有进程的资源占用情况
top -c //每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

 

posted on 2018-07-28 15:10  V神丫丫  阅读(183)  评论(0)    收藏  举报