centos7工作必备命令

1.cd命令
	cd ..是返回上一层目录, 
	cd -是返回到上一次的工作目录,例:开始在~目录下,进入/usr/local,cd -则到~下,再按cd -则到/usr/local中
2.ls [参数] [路径]
	ls -lt按时间倒序排  
	ls-ltr按时间顺序排
	ls -a 显示隐藏文件
	ls -lrt /home/ 按时间顺序显示/home目录下所有文件
3.cat命令
	查看小文件内容
	cat -n xx.txt 加上-n参数会在前面显示行号,进行排序
4.more命令
	more xxx.txt 查看大文件内容,按空格键翻页,回车键查看下一行
5.head命令
	head -n xx 查看文件前多少行
6.tail命令
	tail -n xx 查看文件后多少行  
	tail -f xx动态查看后多少行,用来查看日志
7.touch命令
	touch xxx  创建一个空文件
8.mkdir命令
	mkdir xxx  创建目录 
	mkdir -p /usr/xd/xd 递归创建目录
9.rmdir命令
	rmdir xxx 删除目录
10.cp命令
	cp xxx.txt /usr/local/ 拷贝文件到目录下
	cp 123.txt  /usr/local/456.txt   复制文件到local下并改名
	cp -a 123.txt /usr/local  权限一并复制
11.mv命令
	移动或更名现有的文件或目录。
	mv 123.txt 345.txt 改名
	mv 123.txt /usr/local 移动剪切
	mv 123.txt /usr/local/456.txt  移动并改名
12.rm命令 
	rm 987.php 删除文件(有提示)
	rm -rf 456.txt  强制删除,递归删除
13.diff命令
	diff 123.txt 456.txt 对比文件差异
14.ssh命令
	ssh 192.168.1.11切换到另外一台服务器用于局域网测试环境机器切换
	exit:退出,切回原先的机器
15.id命令
	id查看当前用户信息
16.uname命令
	查看系统信息
	uname -a 查看详细的系统信息,内核,系统等等
17.man命令
	查看帮助文档,比较重要的一个命令,忘了某些命令的用法直接用这个就可以查看了
	man ls 查看ls命令的用法以及哪些可用参数等等
18.clear命令
	清屏 相当于ctrl+l
19.who命令
	查看当前登录用户的信息,包括当前用户,当前机器有哪几个在登录着,以及登录者的ip
20.uptime命令
	查看登录信息
	09:15:41 up 16:54,  3 users,  load average: 0.00, 0.01, 0.05
	09:15:41 表示当前时间
	up 16:54 表示当前机器连续运转了16小时54分时间
	3 users 表示当前有3个用户登录这台机器
	load average: 0.00, 0.01, 0.05 1分钟的负载,5分钟的负载,15分钟的负载
21.free命令
	查看内存使用情况
	free -m 以M显示
	free -g 以G显示(不准确)
	free -h 比较人性化的显示大小,加上M或者G单位
	Mem:实实在在的内存
	Swap:交换空间,简单来说就是当实际内存不够的时候,系统会向硬盘借用空间充当内存
22.grep命令
	查找文件里符合条件的字符串
	grep '119.4.253.206' 123.txt 查找123.txt文件中所有119.4.253.206
	grep -n '119.4.253.206' 123.txt -n:输出行数 输出123.txt文件中119.4.253.206行数
	grep -w '113.66.107.198' 123.txt -w:精确匹配
	grep -v '113.66.107.198' 123.txt -v:取反
	grep -i '113.66.107.198' 123.txt -i:忽略大小写
	这些参数是可以组合使用
23.find命令
	基本用法:find 路径 选项
		在实际生产中最好不要从/开始查询,因为比较耗费性能,最好目录写具体一点
		-type --->根据文件类型 
		f表示的文件,d表示的是目录
		例:
			find /var/log -type f -name "*.log";----->找出/var/log目录下文件名字以.log结尾的文件
			find /var/log -type d  ------->找出/var/log目录下所有的目录
		-name --->根据文件名 
			find /var/log -type f -name "*.log"
		-perm --->根据文件权限 
			find /var/log -perm 600 -type f -name "*.log"--------->找出/var/log目录下权限为600以log结尾的所有文件
		-user --->根据文件所属主 
			find /var/log -user XD
	高级用法:exec
		find /var/log -type f -name "*.log" -exec wc -l {} \; ----->把find命令每一次的结果传递到{}中然后执行wc -l命令统计出每个文件有多少行
		; --->可以执行多条命令 
		\ --->转义符,\;就表示转义这个;使得这条命令结束 
		{} -->把find命令匹配到的每一次结果传递给{} 
		-exec --->执行 
		例: 
		find /var/log -type f -name "*.log" -exec cp -a {} /home/test \; ------>将find命令查找出的内容包括权限拷贝到/home/test目录下
		
		-mtime --->根据文件的变更时间来查找;-n表示更改时间距离现在n天以内;+n表示更改时间距离现在n天以前 
		例: 
		find /var/log -mtime -2 -name "*.log" -exec ls -lrt {} \; ---->查找/var/log 目录下两天内被修改过的.log文件并按时间正序展示
		find /var/log -mtime +2 -name "*.log" -exec ls -lrt {} \;
24.uniq命令
	统计命令
	uniq -c 123.txt  对123.txt中内容进行统计
	uniq -c 123.txt | sort -n 对排序好的内容进行统计
25.df命令 
	df -h 文件系统的磁盘使用情况统计。 
	tmpfs是不存在于实体硬盘上的,是存在内存中的,当服务器断电或者重启的时候,tmpfs的内容都会消失
26.netstat
	查看网络端口的使用情况 
	举 例:
	netstat -tunlp | grep nginx  查看nginx是否开启以及占用端口还有进程Id
	-t :显示tcp端口 
	-u :显示UDP端口 
	-n :指明拒绝显示别名  不加就会显示别名,不会显示实际端口
	-l :指明listen的
	-p :指明显示建立相关连接的程序名 
	安装netstat命令:yum -y install net-tools
27.hostname命令
	查看主机名
28.linux进程管理命令之ps -ef与ps aux详解
	ps -ef | more
	UID   PID   PPID    C 	  STIME  TTY    TIME     CMD 
	root  2 	0  		0     Jul30  ? 		00:00:00 [kthreadd] 
	root  3 	2  		0     Jul30  ? 		00:00:06 [ksoftirqd/0] 
	root  5 	2  		0 	  Jul30  ? 		00:00:00 [kworker/0:0H] 
	root  7		2  		0 	  Jul30  ? 		00:00:04 [migration/0] 
	root  8 	2  		0     Jul30  ? 		00:00:00 [rcu_bh] 
	root  9 	2  		0 	  Jul30  ? 		00:00:00 [rcuob/0] root 10 2 0 Jul30 ? 00:00:00 [rcuob/1]
	UID:用户ID
	PID:进程ID 
	PPID:父进程号(也就是该进程的主进程的进程号) 
	C:CPU的占用率 
	STIME:进程的启动时间 
	TTY:TTY终端 
	TIME:进程执行起到现在总的CPU占用时间 
	CMD:启动这个进程的命令
	
	ps aux | more 
	USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 
	root 2 	 0.0  0.0  0   0   ?   S    Jul30 0:00 [kthreadd] 
	root 3 	 0.0  0.0  0   0   ?   S    Jul30 0:06 [ksoftirqd/0] 
	root 5 	 0.0  0.0  0   0   ?   S<   Jul30 0:00 [kworker/0:0H] 
	root 7 	 0.0  0.0  0   0   ?   S    Jul30 0:04 [migration/0] 
	root 8 	 0.0  0.0  0   0   ?   S    Jul30 0:00 [rcu_bh]  
	USER:哪个用户启动了这个命令 
	PID:进程的ID 
	%CPU:CPU的占用率 
	%MEM:内存的使用率 
	VSZ:如果一个程序完全驻留在内存中一共需要使用多少内存空间 
	RSS:进程当前占用了多少内存 
	TTY:tty终端 
	STAT:表示当前进程的状态(S#处于休眠的状态;D#不可中断的状态 ;Z#僵尸进程 ;X#死掉的进程) 
	START:启动这个命令的时间点 
	TIME:进程执行起到现在总的CPU占用时间 
	COMMAND:启动这个进程的命令

	ps 与grep 常用组合用法,查找特定进程 
	举 例:
	ps -ef | grep nginx 
	ps -aux | grep nginx




29.top命令 
	功能说明:监控Linux系统状况,比如cpu、内存的使用
	top -p Pid 查看具体进程的内存使用情况,具体参数的使用可以使用man命令查看
30.du命令
	统计大小
	du -sh  统计当前目录下所有文件大小的和,加了*则是各个文件的大
	du -sm * 统计当前目录下各个文件的大小,m参数是以兆为单位,不足1m以1m算
31.centos7防火墙
	防火墙:主要用户信息安全防护,主要有软件防火墙和硬件防火墙。firewalld防火墙是软件防火墙
	在centos7 之前默认采用的防火墙是iptables,而在centos 7则是采用firewall,firewalld是一个服务,firewall理解为服务的一个功能
	查看firewalld服务状态
		systemctl status firewalld
	开启、重启、关闭firewalld服务
		开启:systemctl start firewalld.service
		关闭:systemctl stop firewalld.service
		重启:systemctl restart firewalld.service
		禁止firewall开机启动:systemctl disable firewalld.service 
		防火墙随系统开启启动:systemctl enable firewalld.service

	查看firewall防火墙的状态
		firewall-cmd --state
	查看防火墙开放端口规则
		firewall-cmd --list-port
	开放80端口
		firewall-cmd --permanent --add-port=80/tcp (--permanent永久生效,没有此参数重启后就失效)
	加载生效开放的端口
		firewall-cmd --reload
	查询指定端口80是否开放
		firewall-cmd --query-port=80/tcp
	验证80端口是否开放:
		netstat -tunlp |grep 80查看端口是否在监听着
		然后开另外一台机器,使用telnet 192.168.1.35 80命令测试端口的防火墙是否开放
		必须要保证测试端口处于LISTEN状态,不然也是telnet不通的
		安装telnet命令:yum -y install xinetd telnet telnet-server (确认联网状态)
		安装netstat与ifconfig命令:yum -y install net-tools(确认联网状态)
	关闭80端口
		firewall-cmd --remove-port=80/tcp
32.cal命令
	cal 2010 查看2010年的日历
33.|
		管道符:将前面的输出结果输出传输给后面
		比如 cat /123.txt |grep root ,就是先查看123.txt文件的内容,将结果传递给grep命令,通过grep命令查看有没有包含root的
	;
		代表的是可以执行多条命令 cat /etc/passwd | grep root ; ls -lrt
	&& 
		前面的命令执行成功的话,后面的才可以执行成功;前面的命令执行失败的话,后面的不可以执行
	||
		前面的命令执行成功的话,后面的不可以执行;前面的命令执行失败的话,后面的可以执行
34.date命令
	date "+%Y-%m-%d %H:%M:%S"  格式化显示日期
	date -s "2020-10-1 22:00:00"  -s参数:修改时间
	date -d yesterday "+%Y-%m-%d %H:%M:%S" -d参数:显示指定日期的前一天
	date "+%w" 查看星期几
	date命令可以用在shell脚本中,命名日期日志等等
35.xshell按del删除键出现^H删除不掉,按ctrl+backspace就可以删掉了
36.vim编辑器:
	按esc键进入命令行模式,操作快捷键如下:
		$(shift+4) :移动到这一行的行尾 
		gg:移动到文档第一行行首 
		G(shift+g):移动到文档最后一行行首 
		x:删除内容,删除一个字符 
		dd:删除游标所在的那一整行 
		u:还原上一步的操作 
		v:按住v移动上下左右箭头选中范围,按y即复制 
		p:将复制的内容粘贴
	在命令行模式下输入:则进入底行模式,常用操作如下:
		n:n为数字。光标移动到第n 行 
		/:寻找内容(比较重要,特别常用) 
		%s/word1/word2/g:从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 
		n1,n2s/word1/word2/g : n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代 为 word2 
		set nu:显示行号 
		set nonu:取消行号 
		q!:强制离开不保存 
		wq:离开并保存 
		wq!:强制离开并保存 
		!:暂时离开。也就是:!可以输入命令,等于在外层就行操作,可以继续回到vim命令下,例如:!ls /usr/local/zookeeper
37.linux的用户管理与组管理
	关于用户的相关配置文件:
		账号信息:/etc/passwd
		密码信息:/etc/shadow
		passwd文件相关解释如下:
		test    :x    :1000  :1000   :      :/home/test   :/bin/bash 
		用户 密码占位符 UID    GID   用户描述 用户家目录     登录后使用的shell解释

		/sbin/nologin :是不可登录的 
		/bin/bash :可以登录

	添加用户命令:useradd
	-u --->指定用户UID
	-d --->指定用户主目录
	-g --->指定用户所属组
	-r --->指定用户是系统用户
	-s --->用户登录shell解释器
	-M --->不创建家目录
	eg:创建一个用户XD,指定UID为1010,指定家目录为/home/XD ,指定所属组为root组,指定登录shell
	为/bin/bash
	useradd -u 1010 -d /home/XD -g root -s /bin/bash XD
	useradd不指定参数则uid和gid都是上一个用户+1,不加-M则默认家目录就是在/home/下面加上用户名

	su XD:切换到XD用户
	root用户后面跟的是#,普通用户跟的是$
	exit:退出当前用户

	删除用户命令:userdel
		-r:连同家目录一块删除
	添加用户组命令:groupadd
	删除用户组命令:groupdel
	修改用户的信息命令:usermod
		-u #指定用户UID
		-d #指定用户主目录
		-g #指定用户所属组
	设置用户密码命令passwd
	1.passwd XD
	2.echo "123456" | passwd --stdin XD
38.文件属性以及权限操作
	文件的属性:ls -lrti
	1          2            3   4      5      6      7          8
	135088935  -rw-------.  1   root   root   1778   Oct 1 2020 yum.log 
	第1列:i节点;i节点可以理解文件id,一个i节点号可以对应多个文件,一个文件只能对应一个i节点号
	第2列:-rw------- 文件的类型与权限
		  第一个 -
	      -:代表的是文件;d#代表是目录; l #软链接文件 ;b #代表块设备;c #代表的是硬件设备(键盘) 
	     	
		  除了第一个-后面的 rw------- 分为三列 rw- --- ---,第一列为所属者的权限,第二列为所属组的权限,第三列为其它的权限
	      r:表示读权限 ;w:表示写权限;x:表示执行权限 
	      另外一种方式:
	      4:表示读权限 ;2:表示写权限;1:表示执行权限 

	       
	第3列:有多少文件名链接到这个节点 
	第4列:文件的所有者 
	第5列:文件的所有组 
	第6列:容量大小,单位默认为B 
	第7列:创建或最近修改的时间 
	第8列:文件名

	修改文件的权限命令chmod:
	例: 
	chmod u+x,g+w,o+w boot.log  
	chmod u-x,g-w,o-w boot.log 
	chmod 777 boot.log
	u表示所属者,u+x表示给这个文件的所属者可执行的权限
	g表示所属组,g+w表示给这个文件的所属组可写的权限
	o表示其他的权限,o+x表示给这个文件的其他写的权限
	u-x表示删除所属者的可执行权限
	g-w表示删除所属组的写权限
	777表示的是rwxrwxrwx,因为4表示的r,2表示的是w,1表示的x,加起来正好是7
	746表示的是rwxr--rw-权限。。。依次类推

	-R --->递归的意思
	chmod -R 777 /home/XD/*

	修改文件的所有者跟所属组命令chown:
    -R --->递归的意思
    eg:更改文件目录XD 的所属者为root用户 跟 所属组为XD组,以:分割 chown -R root:XD XD
39.telnet命令
	telnet命令:主要用于测试到某台机器的某个端口是否畅通
	telnet这个命令是依赖于 xinetd服务于telnet-server服务
	telnet命令的安装:yum -y install xinetd telnet telnet-server (确认联网状态)
	telnet命令用法:
	telnet IP地址 端口
	应用场景:测试某个端口是否畅通
40.scp命令的用法
	用于服务器之间的文件或者文件目录拷贝
	用法1:从本机拷贝文件到别的机器 scp 本机文件的存放路径 root@服务器IP:服务器目标路径
		eg:从192.168.72.128这台机器的/root/VMwareTools-10.2.0-7259539.tar.gz文件拷贝到 192.168.72.129的/root/下 
		scp /root/VMwareTools-10.2.0-7259539.tar.gz root@192.168.72.129:/root/  ----->root@表示到129机器的root用户
	用法2:从别的机器拷贝文件到本地目录 scp root@服务器IP:服务器目标路径 本机文件的存放路径
		eg:从192.168.72.129这台机器的/root/VMwareTools-10.2.0-7259539.tar.gz文件拷贝到 192.168.72.128的/root/下 
		scp root@192.168.72.129:/root/VMwareTools-10.2.0-7259539.tar.gz /root/
-	r参数:递归的作用(可以拷贝目录)
		eg: scp -r vmware-tools-distrib root@192.168.72.129:/root/
41.给命令设置别名
	临时设置别名: alias vinet='vi /etc/sysconfig/network-scripts/ifcfg-ens33' 
	查看别名: alias 
	取消临时别名: unalias vinet 
	永久设置别名:
	vi /root/.bashrc alias 
	vinet='vi /etc/sysconfig/network-scripts/ifcfg-ens33' 
	加载使立即生效: source /root/.bashrc
42.处理海量数据之sed命令
	sed的应用场景:主要对数据进行处理(选取,新增,替换,删除,搜索)
	sed语法:sed [选项][动作] 文件名
	常见的选项与参数:
	-n #把匹配到的行输出打印到屏幕 
	p #以行为单位进行查询,通常与-n一起使用 
	eg:df -h | sed -n '2p' 
	d #删除 eg: sed '2d' df.txt
	a #在行的下面插入新的内容 eg: sed '2a 1234567890' df.txt 
	i #在行的上面插入新的内容 eg: sed '2i 1234567890' df.txt 
	c #替换 eg: sed '2c 1234567890' df.txt 
	s/#要被取代的内容
	/#新的字符串
	/g #指定内容进行替换 
	eg: sed 's/0%/100%/g' df.txt 
	-i #对源文件进行修改(高危操作,慎用,用之前需要备份源文件)
	eg: sed -i 's/0%/100%/g' df.txt---->将df.txt文件的0%修改为100%
	搜索:在文件中搜索内容 
	eg:cat -n df.txt | sed -n '/100%/p'---->以行号显示df.txt文件内容传给sed命令,以行的形式搜索出100%的内容打印在屏幕上
	-e #表示可以执行多条动作 
	eg:cat -n df.txt | sed -n -e 's/100%/100%-----100%/g' -e '/100%-----100%/p'
43.常见的符号:
	> #会覆盖原有的内容 
	>> #不会覆盖原有的内容
	; #执行多条命令 
	| #管道符 
	&& #前面的命令执行成功,后面的才可以执行 
	|| #前面的命令执行失败,后面的才可以执行 
	"" #会输出变量值 
	'' #输出本身 
	`` #输出命令结果 eg:a=`date`;echo $a 
	2>/dev/null #错误输出到无底洞 
	1>/dev/null #正确输出到无底洞
	eg:cat >123.txt,将将要输入的内容覆盖到123.txt
	eg:ls -rt |grep test1.sh > 345.txt 将ls的内容传给grep命令匹配出shell.sh覆盖到345.txt
	eg:cat shell.sh>123.txt ,将shell.sh的内容覆盖到123.txt
	""可以输出变量值,''里面写的是什么就是什么。``里面可以添加命令执行
44.处理海量数据之cut命令
	cut应用场景:通常对数据进行列的提取
	语法:cut [选项]...[file]
	-d #指定分割符 
	-f #指定截取区域 
	-c #以字符为单位进行分割 注意:不加-d选项,默认为制表符,不是空格 
	/bin/bash #代表可以登录的用户 
	/sbin/nologin #代表不可以登录的用户 
	-d与-f 
	eg: 以':'为分隔符,截取出/etc/passwd的第一列跟第三列 cut -d ':' -f 1,3 /etc/passwd 
	eg: 以':'为分隔符,截取出/etc/passwd的第一列到第三列 cut -d ':' -f 1-3 /etc/passwd 
	eg: 以':'为分隔符,截取出/etc/passwd的第二列到最后一列 cut -d ':' -f 2- /etc/passwd 
	-c 
	eg: 截取/etc/passwd文件从第二个字符到第九个字符 cut -c 2-9 /etc/passwd
	eg:比如领导想叫你截取linux上面所有可登陆普通用户 grep '/bin/bash' /etc/passwd | cut -d ':' -f 1 | grep -v root
	cut命令不加-d参数截取就是按照制表符进行截取,制表符就是tab这个键


 

  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值