linux常用命令

由于常用的linux操作系统是centos7,记录一下centos7下常用的linux命令,便于使用时快速查询。

  1. 基本命令
cd ls pwd clear cp mv rm rmdir mkdir touch cat more less man 
su export which file whatis date service bc cal hostname echo
  1. 搜索类命令
grep which whereis locate find
grep [-acinv] [--color=auto] '查找字符串' filename
grep 'hello' -r /etc/ 				#查找/etc/下包含内容'hello'的文件
which		#用来查找系统PATH目录下的可执行文件,名称严格匹配
which gcc
whereis		#用来查找二进制文件、源代码文件和帮助命令文件,其通过文件索引数据库而非PATH查找,
#查找过程中名称严格匹配,可以通过updatedb命令来更新数据库
whereis passwd						#在数据库中查找passwd文件
locate		#也通过文件索引数据库来查找,但是查找范围必whereis大很多,支持模糊匹配和正则匹配,
#可以通过updatedb命令来更新数据库
locate passwd						#在数据库中查找passwd文件
find [PATH] [option] [action]		#功能强大的查找命令,是通过对磁盘进行查找的,查找最准确但是速度比较慢
find /etc -name passwd 				#严格匹配
find /etc -name *passwd* 			#正则匹配
find /etc -mtime 3					#查找3天之前的“一天之内”被更改过的文件
find /etc -mtime +3					#查找在3天之前(不含第3天本身)被更改过的文件
find /etc -mtime -3					#查找在3天之内(含第3天本身)被更改过的文件
find /etc -user laj					#查找owner为laj的文件
find /etc -group laj				#查找group为laj的文件
find /etc -size +50k				#查找大于50k的文件
find /etc -size -50k				#查找小于50k的文件
find /etc -perm 0755				#查找权限刚好为0755的文件
find /etc -perm +0755				#查找权限上限为0755的文件
find /etc -perm -0755				#查找权限下限为0755的文件
find /etc xxx -exec rm {} \;		#查找/etc/下名为xxx的文件并删除
  1. 管道类命令
cut grep sort wc uniq sed awk diff

选取类:cut、grep等 以行为单位进行处理

echo  $PATH | cut -d ':' -f 3,5    	#将PATH按':'切割后选择第三段和第五段
export | cut -c 12-					#选取export输出中每行第12个字符以后的内容
last | grep 'root'					#在last输出中选取包含'root'内容的行
last | grep 'root' |cut -d ' ' -f1	#在last输出中选取包含'root'内容的行,然后按空格切割后选取第一个字段

排序类:sort、wc 、uniq等

cat /etc/passwd | sort -t ':' k 3	#将/etc/passwd的内容每行按':'分隔后的第三列排序
last | cut -d ' ' -f 1 | sort 		#将last命令中出现的用户进行排序
last | cut -d ' ' -f 1 | sort | uniq -c #统计last命令中用户出现的次数
cat /etc/man.confg | wc 			#统计man.confg文件的行数、单词和字符数
last | grep [a-zA-Z] | grep -v 'wtmp' | wc -l #统计这个月份登陆系统的总人次

字符转换命令:tr、col、join、paste、expand等

last | tr '[a-z]'  '[A-Z]'			#将last输出信息中所有的小写字符变成大写字符
cat /etc/passwd | tr -d ':'			#将/etc/passwd输出信息中的':'删除
cat /etc/man.config | col -x | cat -A | more #将[tab]键替换成空格键
join -t ':' /etc/passwd /etc/shadow	#将两个文件的第一字段相同者整合成一行
paste /etc/passwd /etc/shadow		#将两行贴在一起,中间以[tab]键隔开

参数替换:xargs

cut -d ':' -f 1 /etc/passwd | head -n 3 | xargs finger 	#用finger命令将passwd文件中的前三个账号内容显示出来
find / -name hello | xargs ls -l 	#ls命令不是管道命令,本来不能直接用的,但是可以结合xargs命令进行使用

数据处理:diff、printf、awk、sed

diff file1 file2 					#文件比较工具
printf	'%s\t%s\t%s\t%s\t \n' $(cat file)	#格式化输出文件内容
awk:使用方法:awk '条件类型1 {动作1} 条件类型2 {动作2} ...' filename
last -n 5 | awk '{print $1 "\t" $3}'#输出last命令结果中前五行数据的第1列和第3列
last -n 5 | awk '{print $1 "\t lines: " NR "\t columes: " NF}' #NR表示当前处理行是第几行,NF表示每一行拥有的字段总数
cat /etc/passwd | awk '{FS=":"} $3 < 10 {print $1 "\t " $3}' #FS表示分隔字符,默认是空格键
sed:可以进行替换、删除、新增、序选取特定行等操作
nl /etc/passwd | sed '2,5d'			#删除第2~5行
nl /etc/passwd | sed '3,$d'			#删除第3至最后一行
nl /etc/passwd | sed '2a drink tea'	#在第2行后面加上drink tea
nl /etc/passwd | sed '2i drink tea'	#在第2行前面加上drink tea
nl /etc/passwd | sed '2,5c No 2~5 number'	#将第2~5行的内容替换成No 2~5number
ifconfig eth0 | grep "inet" | sed 's/^.inet//g' | sed 's/netmask.*$//g' #获取eth0对应的ip地址
  1. 网络类命令
 ifconfig netstat ping telnet ssh ftp wget curl scp
ifconfig 							#查看ip地址
netstat								#查看网络状态
ping								#查看ip是否能连通
telnet								#查看端口是否开放
ssh									#远程登录,与win中的mstsc类似
ftp									#ftp ip后输入用户名和密码进行登录
wget								#wget url
curl								#curl url
scp /etc/passwd  root@192.168.1.1:/etc	#将本地文件拷贝至远端
scp root@192.168.1.1:/etc/passwd /etc/	#将远端文件拷贝至本地
  1. 系统相关类
 uname ps free top kill systemctl iostat
uname -a							#查看linux内核版本
cat /etc/redhat-release				#查看操作系统版本
ps -ef | grep pid					#查看某个pid的进程状态
netstat -nap | grep pid				#查看某个pid的网络状态
free								#查看内存使用情况
top									#动态查看系统运行状态
kill -9 pid							#删除进程
iostat								#动态监视系统磁盘状态
  1. 权限类命令
 chown chgrp chmod umask
chown -R test:test folder
chmod a+x file
chmod 777 file
  1. 磁盘分区、格式化和挂载
 fdisk /dev/xvdb
 mkfs -t xfs /dev/xvdb1
 mount /dev/xvdb1 /data
 mount -a #注意:这个是临时挂载,若需要永久挂载,则需要在/etc/fstab文件中配置
  1. 软件安装
    rpm:RedHat Package Manager
a. 安装
rpm -ihv package_name
b. 查询
-qa 			#列出所有已安装的软件
-qi 			#列出软件的安装信息
-ql				#列出该软件所有的问题和目录所在完整文件名
-qc 			#列出该软件的所有配置文件
-qR				#列出与该软件有关的依赖软件所含的文件
c. 升级
-Uhv			#若软件没有安装,则直接安装,若已安装,则更新
-Fhv			#若软件没有安装,则不安装,若已安装,则更新
d. 卸载
rpm -e package_name

yum:Yellowdog Updater Modified

a. 安装
yum -y install package_name
b. 查询
yum list installed 			#列出已安装的软件
yum list available			#列出可用的软件
yum list installed redis*	#在已安装的软件包中查询redis
yum list redis*				#在所有的软件源中查询redis
yum list updates			#列出可以更新的软件
yum info redis				#查看redis信息
c. 升级
yum update package_name		#升级软件包
d. 卸载
yum remove package_name		#卸载软件包
  1. 查看CPU、内存等相关信息
CPU相关:
cat /proc/cpuinfo			#查看cpu全部信息
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l		#查看物理CPU个数
cat /proc/cpuinfo | grep "cpu cores" | uniq		#查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo | grep "processor" | wc -l	#查看逻辑CPU的个数
cat /proc/cpuinfo | grep name | cut -f2 -d : | uniq -c 	#查看CPU信息(型号)
#总核数=物理CPU个数*每颗物理CPU的核数
#总逻辑CPU数=物理CPU个数*每颗物理CPU的核数*超线程数
内存相关:
cat /proc/meminfo			#查看内存全部信息
grep MemTotal /proc/meminfo	#查看内存总量
grep MemFree /proc/meminfo	#查看内存总量
  1. 压缩相关类命令
 gzip bzip2 tar
 
 gzip和bzip2:只能对文件进行压缩,不能对文件夹进行压缩
 gzip /etc/passwd					#生成passwd.gz并且passwd文件消失
 gzip -c /etc/passwd > passwd.gz	#生成passwd.gz并且保留passwd文件
 gzip -d /etc/passwd.gz				#由passwd.gz解压得到passwd文件
 bzip2命令调用格式基本上与gzip一致,但是性能上较gzip更优。zcat和bzcat分别用来查看gzip和bzip2压缩后的文件。
 
 tar:tar只能用来打包文件和文件夹, 但是不能用来压缩,因此可以与gzip和bzip2完美结合
 tar -cv -f filename.tar.bz2 要被压缩的文件或目录名称		#压缩
 tar -jtv -f filename.tar.bz2							#查询
 tar -jxv -f filename.bz2 -C 欲解压缩的目录				#解压
 bzip2命令对应的参数是-j,后缀名是.tar.bz2;gzip命令对应的参数是-z,后缀名是.tar.gz。
 
 window中的rar软件与gzip、bzip2、tar之间的压缩解压缩关系:
 rar能解开gzip、bzip2或tar单独压缩或者打包压缩后的文件,gzip、bzip2无法解压rar压缩之后的文件,需要使用rar命令:rar x xxx.rar
  1. 其他
两次tab:命令提示
ctrl+u:清空当前行输入
ctrl+c:停止命令执行
ctrl+d:相当于exit
dd:dd if=/dev/zero  of=data.txt bs=1M count=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值