Loading

三、常规命令

三、 常规命令
基本介绍

	[root@localhost ~]# 
		~:表示当前操作位置在用户家目录
		#:表示超级用户登录,普通用户登录时显示为“$”
	ll -i	(显示结果)
	130574 		drwxr-xr-x.  	2	 	root	    root 	4.0K 	6月   6 12:17 	123
	inode号		权限级别		引用数	所有者	    所属组	大小			时间			文件名

引用计数:
  对于文件:表示文件硬链接数
  对于目录:目录下一级子目录的个数
命令选项:用于调整命令功能
参数:是命令操作的对象,若省略,则代表默认。

目录命令

cd		切换目录	i显示inode		h常用单位	a显示所有	d当前目录
pwd		显示当前所在目录的路径
mkdir	建立目录
rmdir	删除目录
rm		删除目录和文件	-r递归	-f强制
tree	显示目录树 -L 指定层数,-d 指定目录 如:tree -L 2 -d /

文件操作

1) touch	新建或修改时间
2) rm -rf	删除
	-r		递归,删除目录
	-f		强制删除
3) cat		查看内容,所有
	-n		列出行号
4) more		分屏显示
	空格向下翻页,b向上翻页,q退出
5) less		分行显示
6) head [] 	显示文件头	默认显示前10行
		-n 20 文件名	显示前20行
7) tail -n 	行数 文件名	显示文件尾	默认显示前10行
		-f	监听文件尾

文件目录命令

rm					        删除文件或目录
cp [] 源文件 目标位置        复制 
	-r				        复制目录 
	-p				带属性复制
	-d				链接复制
	-a相当于-rpd
mv				剪贴或改名
shell			命令解释器
	内部命令:shell自带,没有明确的可执行文件
	外部命令:type查看,后期开发,有执行文件

链接文件(难点)

创建链接时一定要使用绝对路径
ln	(link)
ln -s 实际文件  软连接文件
ln -s /root/12  /tmp/	(软链接)
ln  /root/12  /tmp/		(硬链接)

注意:删除软连接 rm -rf abc/ 有“/”会把源文件删除,所以rm -rf abc 则删除软连接文件 abc

硬链接:
	源文件和硬链接文件拥有相同的inode号和blook块,可以看成是同一个文件。
	修改任意一个文件,另一个内容改变,删除任意一个,另一个正常使用。
	除非两个都删除,才不能访问。
	不能夸分区(防止inode号重复)
	不能链接目录。(目录下文件可能太多)
	特征不够明显,很难判断两个是硬链接,不推荐使用。
软链接:
	软链接有自己独立的inode和blook,但blook不记录实际数据,只写入源文件名和inode号
	软链接大小不随源文件大小改变而改变
	软连接是最大权限,但访问受源文件权限限制
	修改任意一个,另一个也改变
	删除软链接,源文件无影响,删除源文件,软链接无效
	软链接可以夸分区,可以链接目录
	软链接特征特征明显,推荐使用。

常用快捷键

	Tab			自动补全
	ctrl+l		清屏
	ctrl+u		从光标删除到行首
	ctrl+k		从光标删除到行尾
	ctrl+y		在粘贴回来
	ctrl+a		光标移到行头
	ctrl+e		光标移到行尾
	ctrl+s		暂停屏幕
	ctrl+q		解除暂停屏幕
	ctrl+c		强制终止
	ctrl+z		放入后台

注:以“.”开头的文件,代表隐藏文件(系统文件,不要乱动)

	alias	查看系统别名(别名优先级高于命令)
	/root/.bashrc		环境变量设置文件
	ps aux				查看任务管理器
	kill				杀死进程
	操作时先看一下在那个目录,尽量使用绝对路径
	设置中文字体:LANG=zh_CN.UTF-8

权限

	-rw-r--r--.
	drwxr-xr-x.
	第1位表示文件类型
	其中		-	普通文件
			d	目录文件
			l	链接文件
			b	设备块文件
			c	字符设备文件
			s	套接字
			p 	管道
	第2.3.4  位表示  u(所有者)rwx(读写执行)	权限
	第5.6.7  位表示  g(所属组)rwx(读写执行)	权限
	第8.9.10位表示  o(其他人)rwx(读写执行)	权限
		r 4		w 2		x 1
	最后一位点(.)代表文件受selinux保护
	chome(权限修改)
常用权限	644		标准文件权限
			755		文件:执行权限
					目录:标准权限
			777		最大权限
用户在自己的所属组里,所有者权限生效;在其他所属组里,所属组权限生效。
chown	修改所有者
chgrn	修改所属组
	-R	参数	对目录及其内所有文件都设置权限(递归设置)
	chown	u:g 或chown	u.g		(同时修改所有者和所属组)
	chown	:g	修改所属组

权限的意义(只限制普通用户)

对文件:r:读取内容	cat	more	head	tail
		w:编辑		vi	echo
		x:可执行
注:对上级目录有权限,才能操作文件数据(文件本身权限受上级目录的权限管理)
对目录:r:可以查询目录下文件名	ls
		w:修改目录结构	删除、新建、更名、复制、剪贴
		x:可以进入目录
最大权限:	文件x最大
				目录w最大
对于目录426权限没有意义,只能是057,0最小权限,5标准权限,7最大权限
新建的文件初始权限为666(umask为0000时)
新建的目录初始权限为777(umask为0000时)
umask	(系统通过umask保证默认权限)/etc/profile
	超级用户:0022
	普通用户:0022或0002
新建文件及目录的全选计算
UID > 199	umask 002  
UID <= 199	umask 022  

rwx  rwx  rwx		777		目录默认权限
---  -w-  -w-		022		umask
----------------------
rwx  r-x  r-x		755		实际权限

rw-  rw-  rw-		666		文件默认权限
---  -w-  -w-		022		umask
----------------------
rw-  r--  r--		644		实际权限


rwx  rwx  rwx		777		目录默认权限
---  -w-  rwx		027		umask
----------------------
rwx  r-x  ---		750		实际权限

rw-  rw-  rw-		666		文件默认权限
---  -w-  rwx		027		umask
----------------------
rw-  r--  ---		640		实际权限

帮助文件

--help			查看命令的常见选项
man			查看帮助文件
	man 5 passwd 			查看passwd文件的帮助
	man 1 passwd 			查看passwd命令的帮助
	man -f whatis			查看命令的帮助级别
		man帮助级别
			1 - 查看命令的帮助
			2 - 查看可被内核调用的函数的帮助
			3 - 查看函数和函数库的帮助
			4 - 查看特殊文件的帮助(主要是/dev目录下文件)
			5 - 查看配置文件帮助
			6 - 查看游戏帮助
			7 - 查看其他杂项帮助
			8 - 查看系统管理员可用命令帮助
			9 - 查看和内核相关文件的帮助
 info		最详细的帮助文件(u进上层,n下一节,p上一节,q退出)

基本查找命令

which			查找命令的命令,能看到相关别名
whereis			查找命令的命令,看到帮助文档的位置
locate			按照文件名在特定数据库查找
	updatedb	强制更新数据库 	/var/lib/mlocate/mlocate.db		数据库文件
	vim /etc/updatedb.conf
		PRUNE_BIND_MOUNTS = "yes"		开启搜索限制
		PRUNEFS =						不被搜索的文件系统
		PRUNENAMES = 					不被搜索的文件类型
		PRUNEPATHS =					不被搜索的路径

find			搜索命令(在系统中搜索符合条件的文件名。使用通配符完全匹配)
	通配符	*	任意内容
			?	任意一个内容
			[]	中括号内任意一个内容,[abc][0-9][A-Z][A-Za-z]
			[^] 取反,除了[]内的内容
grep			查找字符串(在文件中搜索符合条件的字符串。正则表达式包含匹配)
	表达式	*	前一个字符重复任意多次
			?	前一个字符重复0次或一次(需要egrep命令)
			[]	中括号内任意一个内容
			^	限制行首
			$	限制行尾

	/etc/profile(umask环境变量配置文件)
	/var/lib/mlocate/mlocate.db(locate命令搜索的后台数据库)
	/etc/updatedb.conf(定义locate命令的配置文件)
	最大权限有安全风险,要小心赋予。
	info(更详细的帮助文件)

find查找命令

find 位置 -name 文件名
		-mtime		修改时间(modify)
		-atime		按访问时间(access)
		-ctime		状态修改时间,即权限等(天)+4 查找4天前的,-4查找4天内的,4查找第四天当天
			 find / -ctime -4 
		-uid		数字(按ID查找)
		-gid		数字(按组ID查找)
		-user		用户名(按属主用户名查找)
		-group		组名(按属组名查找文件)
		-nouser		查找没有属主的文件
		-name		按文件名查找
		-size		按大小,+50k:大于50k,-50k:小于50k,50k:等于50k
		-type 		按文件类型查找,f:普通、d目录、i:链接
	find /etc/  -name rpm -type d	查找/etc下rpm目录
		-perm 	444 		按权限查找)
				+444	只要有一个大于4即可
				-444	全小于4即可
		-inum       节点数 (按i节点查找)
		-iname		(按文件名查找,不区分大小写)
	在查找的结果中直接以命令操作
		find /tmp/ -mtime	+10 -exec rm -rf {} \;(类似于管道符号)
					-ok(使用时会询问用户是否)
逻辑连接符:   
		-a		(and 逻辑与)     
		-o   	(or  逻辑或)
		例:find /etc -size +1k -a -size -10k  
		在etc目录下查找大于1k并且小于10k的文件
grep 	-i "root" /etc/passwd	(按字符串root查找,i是忽略大小写)
	-i	(忽略大小写)
	-v	(反向选择,逻辑非的意思)
	-o	(统计关键词有多少行)
|管道符

	cat install.log | grep lib (在显示文件操作中,grep搜索含有lib的行)
	第一次的结果会因管道符以文本流形式做为参数传给命令2
	find /etc/ -name "passwd" |xargs ls -l (在/etc目录中查找passwd文件,并以长格式显示)
	第一次的结果会因管道符以任务流形式做为参数传给命令2
		|		只接收正确输出文本流  |&	接收正确和错误输出的文本流
		|xargs	只接收任务流
netstat		查看系统网络状态
		-t		查看tcp协议端口
		-u		查看udp
		-l		监听
		-n		以ip和端口号显示

压缩和解压缩

1) zip压缩
		zip	-r test.zip /test	压缩(-r是压缩目录)
		unzip test.zip			解压缩
2) gz压缩,不会打包,不保留源文件
		gzip 源文件				压缩
		gzip -r 原目录 			(只对目录内文件单独压缩)
		gzip -c 源文件 > 压缩包	保留源文件压缩
		gunzip压缩包				解压缩
		gzip -d 压缩包			解压缩
3) bz2 不能压缩目录
		bzip2	源文件		(压缩,-k保留源文件)
		bzip2	-d 压缩包	(解压,-k保留压缩包)
		bunzip2 压缩包		(解压,-k保留压缩包)
4) tar打包,不压缩
		tar -cvf  打包名 源文件 	 	(打包)
		tar -xvf  文件包名			(解包,-c打包,-x解包,-v显示过程,-f指定打包文件名)
5) 同时压缩打包
	gz	tar -zcvf 压缩名 源文件		(压缩,-z,识别.gz格式)
		tar -zxvf 压缩包名       		(解压)
	bz2	tar -jcvf压缩名 源文件		(压缩,-j,识别bz2格式)
		tar -jxvf 压缩包名			(解压)
6) 查看不解包	tar -ztvf	(gz格式,-t,只查看,不解压)
		tar -jtvf	(bz2格式)
7) 指定压缩位置
		tar -jxvf root.tar.bz2 -C /tmp/
8) 指定文件到指定位置解压
		tar -xzv -C /tmp -f a.tar.gz 文件名(写用t查看时显示的有路径路径文件名)
9) 压缩指定路径下的文件到当前目录
		tar -zcv -C /usr/local/src/ -f 123.tar.gz 123.txt
10) tar通用解压
		tar	-xf[v] 文件名	(解压)-v显示过程

常用网络命令

	w			查询当前登录服务器的所有用户
 		18:15:08 up 15 min,  1 user,  load average: 0.00, 0.04, 0.05
		USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
		root     pts/0    10.10.10.1       18:15    0.00s  0.00s  0.00s w
		开机时间    登录时间     登录用户数		 平均负载 1分钟前 5分钟前 15分钟前
		用户名  登陆中端  来源ip   登陆持续时间  用户闲置时间  所有进程占用CPU时间 正在进行的操作
	who			查询登录用户
	last		列出登录系统相关信息
	lastlog		显示所有账户最后一次登录时间
	write		给在线用户写消息 (ctrl+d 保存发送 weith root tty1)
	wall		对所有在线用户说话
	mail		邮件  mail 收信,h 列出标题,q 退出
	ping		网络测试(-c指定次数,-s 指定大小 <-s 65536 死亡之ping>)
	ifconfig	查询本机ip
		ifconfig eth0 10.10.10.11 netmask 255.255.255.0 临时配IP
		eth0:0  第一块网卡的第一模拟网卡
	netstat		查看网络状态 -an -tuln 
	telnet ip端口	测试端口是否正常链接
		ctrl+]---> quit   退出
	netstat	tlun	(查看本机所有监听端口)
		-t tcp -u udp -l 监听 -n 以ip和端口号显示

关机重启

关机
# sync		同步数据,强制把内存数据保存到硬盘
	1) shutdown	-h	无特殊情况使用
	2) init 0		调用内核关机程序,不保存数据
	3) halt			同上
	4) poweroff		相当于直接断电
重启
	shutdown -r now
	reboot			会关闭服务
	init 6			相当于强制重启
netstat -an | grep ESTABLTSHED | wc-l
查看端口并查找ESTABLTSHED关键字,然后计数
注:没有所有者的文件(只有以下两种是正常的)
	1) 外来文件(优盘、光盘、硬盘、windows下的文件)
	2) 内核产生的文件(/proc  /sys)
/var/log/wtmp			系统登录信息
/var/run/utmp			系统登录信息
/var/spool/mail/root	邮件保存位置
不建议定时重启(风险大)

挂载

/etc/fstab	自动挂载配置文件,设置开机自动挂载
设备不可设置开机自动挂载
使用UUID对于系统来说其唯一性会更好
mount -a	测自动挂载文件(准确度不高,不建议使用)
设备文件名
光盘:	redhat 5以前:/dev/hdc
		redhat 6以后:/dev/sr0
U盘:和硬盘一样,需查询,用	fdisk -l
光盘挂载:mount -t iso9600 /dev/sr0     /mnt/cdrom(-t是指定文件系统,可不写)
卸载:umount /dev/sr0	或	umount /mnt/cdrom
弹出光驱:eject
U盘挂载:	mount -t vfat /dev/sdb1    /mnt/usb(vfat=FAT32,fat=FAT16)
		 	mount -o iocharset=utf8 /dev/sdb1   /mnt/usb/(指定中文编码UTF-8挂载U盘)
	卸载:	umount /dev/sbb1 或 umount /mnt/usb/
镜像文件挂载:	mount -t iso9660 -o loop 镜像文件(*.iso)	挂载点
更改挂载类型:	mount -o remount,exec 	设备名/挂载点(remount针对已挂载的)
				mount -o remount,rw  /	重新将根挂载为读写
	mount 	#查看所有已挂载的设备信息
	mount -t fs	 设备名(绝对路径)	挂载点	(fs代表文件系统)
Linux不识别NTFS文件系统,只识别FAT32及以下
终端界面识别中文:	
	①  安装中文编码和中文字体
	② 终端要能识别中文

驱动

Linux驱动在内核里自动加载,无需手工安装,特殊的需要手工安装
1) 常用驱动直接放入内核,(必备硬件驱动)
2) 不太常用,绝大多数驱动,以模块方式放入硬盘 /lib/modules/2.6.32-642.el6.x86_64/kernel
3) 以模块方式保存在硬盘的驱动,系统认为不常用,默认不安装,若要安装需重新编译内核并加载(NTFS则如此)
4) Linux彻底不识别的驱动需要手工安装,(需要厂商提供硬件驱动)
	注:
		当前系统字体库		echo $LANG
		修改当前系统字体库	LANG=zh_CN.UTF-8	中文
						LANG=en_US			英文

ls -l 样式改变

在Linux中使用ll或者ls -l命令过程中,日期的显示总是显示英文日期,觉的很不爽,那么怎么设置显示的格式是按照我们定义的呢?

1、临时更改显示样式,当回话结束后恢复原来的样式
export TIME_STYLE='+%Y-%m-%d %H:%M:%S'    # 直接在命令中执行即可
2、永久改变显示样式,更改后的效果会保存下来
    修改/etc/profile文件,在文件内容末尾加入
    export TIME_STYLE='+%Y-%m-%d %H:%M:%S'
    执行如下命令,使你修改后的/etc/profile文件配置内容生效
source /etc/profile
3、使用ls -l --time-style=full选项
4、查看测试
[root@localhost opt]# ll
-rw-r--r-- 1 root root 204018162 2019-05-21 09:26:16 mongodb-3.2.3.tgz
-rw-r--r-- 1 root root 194869554 2019-05-21 09:26:17 zookeeper-3.4.8.tgz
posted @ 2019-07-11 11:14  Outsrkem  阅读(196)  评论(0编辑  收藏  举报