• 三、常规命令


    三、 常规命令
    基本介绍

    	[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
    


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用
    分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。
    小议主子表INT自增主键插入记录的方法SQL server]教程
    微软工程师主讲的SqlServer2005视频教程
    11 个重要的数据库设计规则
    sql数据库设计学习---数据库设计规范化的五个要求
    YY淘宝商品数据库设计
    ASP.NET MVC的客户端验证:jQuery的验证
    ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
    UNIX标准化及实现之POSIX标准可选头文件
  • 原文地址:https://www.cnblogs.com/outsrkem/p/11168810.html
Copyright © 2020-2023  润新知