linux 常用命令

reboot,	init 6,	shutdown -r now	,命令用于重启系统
halt,	init 0,	shutdown -h now,poweroff -p	命令用于关闭系统


******页面切换*****
查询登陆界面
systemctl get-default
永久切换
systemctl set-default multi-user.target	 (图切命令)
systemctl set-default graphical.target	(命令切图)
临时切换
systemctl isolate multi-user.target	(图切命令)
init 5					(命令切图)

ls		查看目录文件信息
-l		显示文件长模式
-s		显示文件大小
-a 	显示全部文件
-d 	只显示目录属性
du -sh 查看文件夹下大小
password 	-l	+	用户名 	锁定该用户
password		-u +	用户名		解锁该用户
password		-e	+	用户名		强制下次登陆改个密码 
useradd 	[选项] 【用户名】 	创建一个用户
			-u		指定用户UID
			-s		指定用户shell解释器
			-G		指定一个组
			-g		指定主要组(须存在)
groupadd	[选项]	【组名】	创建一个组
			-g		GID 这个值必须是唯一的

usermod -G 【组名】【 用户名】	(将某用户添加某补充组里)
		-g						(将某用户添加某主要组里)
		-L						(锁定用户禁止登陆)
		-U						(解锁用户允许登陆)
		-u						(修改UID)
gpasswd -d 用		户名 组名	(将某组删除某用户)
chgrp 组名 文件名				(改变文件属组)
chown  [属主] :[属组]  改变文件所有者和所属的组
		-R处理指定目录以及其子目录下的所有文件
		-c显示更改的部分的信息
chmod 777 文件名	修改文件读写执行属性(读4写2执行1)
**特殊权限**(赋予特殊权限后  拥有权限者使用sudo可以临时操作passwd相关)
u+s 为用户增加特殊权限
g+s为组增加特殊权限
o+t为其他用户增加特殊权限
===========setfacl设置特定的目录权限**
setfacl ‐m u:[用户名1]:rwx,u:[用户名2]:‐‐‐,o::r	[文件]
			-m 设置文件acl规则
			--x 删除文件acl规则
			-R 递归
getfacl	[文件名] 查看

用户切换
su - 【用户名】 切换用户和环境变量
su [用户名] 只切换用户,环境变量不会变
当普通用户不能执行sudo时需
vi /etc/group //编辑配置文件
wheel❌10加(,用户名) //配置文件第十行后面加用户名并用,分隔
touch命令用于创建空白文件或设置文件的时间为
“touch [选项] [文件]”
-a仅修改“读取时间”(atime)
-m仅修改“修改时间”(mtime)
-d同时修改atime与mtime

[root@linuxprobe ~]# touch -d "2017-05-04 15:44" anaconda-ks.cfg 	
mkdir命令用于创建空白的目录,
mkdir -p		递归创建文件(文件中包含文件)

cp	- r文件名 目的目录		要成功复制目录需要加上 -r 表示递归复制
	-a	文件名	目的目录		复制文件并且文件的时间不变

rm	删除文件	rm -rf(强制删除并不提示) 
mv	【原地址/名称	目的地址/新名称】移动/更名
file[文件名]查看文件类型

grep是根据文件的内容进行查找  grep [关键字] 【路径】
-c:只输出匹配行的计数。
-i:不区分大小写
-e:  同时匹配多个目标
-E  可以使用扩展正则表达式
-l:查询多文件
-v:反向选择(过滤)
-n:显示匹配行及行号
^【关键字】查找以关键开通的文件
【关键字】$	查找以关键字结尾的文件
 grep -Ev "^$ | ^#" [被查找文件的路径] >[输出的文件路径] 
 cat [文件] | grep [关键字] >[输出的文件路径]
 find查找文件不是目录
  [查找的路径] [选项]

	ps命令用于查看系统中的进程状态   R(运行)S(中断)D(不可中断)Z(僵死)T(停止)
	-a  显示所有进程(包括其他用户的进程)
	-u  用户以及其他详细信息
	-x  显示没有控制终端的进程
top命令用于动态地监视进程活动与系统负载等信息
	第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)
	第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
	第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“97.1 id”意味着有97.1%的CPU处理器资源处于空闲。
	第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
	第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [进程名称]

zip	[选项][压缩后的存放路径] 压缩命令	
	-r 参数表示递归打包包含子目录的全部内容
	-e 使用 -e 参数可以创建加密压缩包
	-q 参数表示为安静模式,即不向屏幕输出信息
	-o,表示输出文件,需在其后紧跟打包输出文件名
	-9 设置压缩级别为 9 或 1(9 最大,1 最小,1 表示最快压缩但体积大,9 表示体积最小但耗时最久)
例如: zip -r -9 -q -o test.zip  /home/shiyanlou/Desktop -x ~/*.zip
-x 是为了排除我们上一次创建的 zip 文件,否则又会被打包进这一次的压缩文件中,注意:这里只能使用绝对路径,否则不起作用。
unzip	解压命令 例如:unzip shiyan.zip(解压)[解压到路径]
-q(安静模式)	例如:unzip -q shiyanlou.zip -d ziptest(上述指定目录不存在,将会自动创建ziptest目录)
-l	如果你不想解压只想查看压缩包的内容你可以使用 -l 参数
tar:打包(无压缩功能)     gzip (unzip),bzip2(均为压缩不打包)
tar -[zcvf] 	[想保存的路径文件].tar 	[被打包的路径及文件]
	-c	归档
	-v	显示过程
	-f	指定归档文件
	-p	保留原文件属性
	-k:保留原有文件不覆盖
	-z	(.gz)	gzip打包后使用gzip压缩(加参数后文件后也要加后缀名)
	-j	(.bz2)bzip2打包后使用bzip2压缩(加参数后文件后也要加后缀名)
解包:tar -[参数]	文件名	-C [解压到..]
	 tar -zxf 文件名.tar.gz -C [路径]
	 	 -z (.gz)	gzip打包后使用gzip压缩(加参数后文件后也要加后缀名)
	 	 -j	(.bzip)bzip2打包后使用bzip2压缩(加参数后文件后也要加后缀名)
	 	 -x 解压
	 	 -f	指定归档文件
		 -C 指定解压到..
	

	df		 df 命令查看磁盘的容量
			-h以更易读的方式展示
			-du 命令查看目录的大小
			-h参数,以更易读的方式展示
			-d参数指定查看目录的深度 	例如:只查看1级目录的信息:du -h -d 0  查看2级目录信息:du -h -d 1 




**系统相关服务(重启,开机自启某服务)**

查询sshd服务进程
systemctl status sshd.service
开启sshd服务进程(进程ID已改变)
systemctl start sshd.service
关闭sshd服务进程
systemctl stop sshd.service
停止后再开启sshd服务
systemctl restart sshd.service
使服务读取和重新加载配置文件(进程ID不变)
systemctl reload sshd.service 
systemctl status sshd.service 
开机自启/禁止启动sshd服务
systemctl enable sshd.service 
systemctl disable sshd.service
checkconfig 【服务名称】off		禁用服务(开机不自启)
checkconfig --list | grep 【服务名称】	查看结果

clear 清屏
declare 创建一个变量(tmp) 例如: declare tmp tmp=xxxx 给这个变量赋值 echo $tmp 查看这个变量
内建命令和外部命令
type 【命令】
xxx is a shell builtin
得到这样的结果说明是内建命令,正如上文所说内建命令都是在 bash 源码中的 builtins 的.def中
xxx is /usr/bin/xxx
#得到这样的结果说明是外部命令,正如上文所说,外部命令在/usr/bin or /usr/sbin等等中
xxx is an alias for xx --xxx
#若是得到alias的结果,说明该指令为命令别名所设定的名称;

crontab [参数] -u [用户名] 创建周期计划

-e	新建一个周期计划
-l	查看自己创建的任务
-r	删除创建的任务
			格式
分	时	日	月	周	命令
*	*	*	*	*	echo "hello"
*/2	代表每两分钟执行
没要求用“*”代替

chkconfig --list | grep cron 查看cron服务的启动情况
at [时间]创建任务
ctrl+d结束输入
at -l 或atq 查看任务
atrm [ID]
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”

------------------------------------------------------------------------------

ifconfig 命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”
uname 命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。
uptime 用于查看系统的负载信息,格式为uptime
free 用于显示当前系统中内存的使用量信息,格式为“free [-h]”
who 用于查看当前登入主机的用户终端信息,格式为“who [参数]”
last 命令用于查看所有系统的登录记录,格式为“last [参数]”
sosreport 命令用于收集系统配置及架构信息并输出诊断文档
pwd 命令用于显示用户当前所处的工作目录
cd 命令用于切换工作路径(目录)
ls 命令用于显示目录中的文件信息(查看)“-a”参数看到全部文件,“-l”参数可以查看文件的属性、大小等详细信息
------------------------------------------------------------------------------
stat (文件名) 查看文件创建时间,信息,属性
cat 命令用于查看纯文本文件(内容较少的)
cat [选项] [文件]”
more 命令用于查看纯文本文件(内容较多的)
more [文件](显示内容百分比)
less 命令用于查看纯文本文件(内容较多的)
more [文件](不显示百分比)
-b : 指定添加行号的方式,主要有两种:
-b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
-b t:只列出非空行的编号并列出(默认为这种方式)
-n : 设置行号的样式,主要有三种:
-n ln:在行号字段最左端显示
-n rn:在行号字段最右边显示,且不加 0
-n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)

head 命令用于查看纯文本文档的前N行,格式为“head [-n 行数] [文件]”
tail 命令用于查看文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”
tr 命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”
wc 命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”
-l (只显示行数) -w(只显示单词数) -c(只显示字节数)
stat 命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”
Access : 文件最近一次被访问的时间,Modify: 文件内容最近一次被修改的时间,Change: 文件属性最近一次被改变的时间

	diff	命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”
	例如,先使用cat命令分别查看diff_A.txt和diff_B.txt文件的内容,然后进行比较:
	[root@linuxprobe ~]# cat diff_A.txt
	Welcome to linuxprobe.com
	Red Hat certified
	Free Linux Lessons
	Professional guidance
	Linux Course
	[root@linuxprobe ~]# cat diff_B.txt
	Welcome tooo linuxprobe.com

	Red Hat certified
	Free Linux LeSSonS
	.....
	Professional guidance
	Linux Course
	接下来使用diff --brief命令显示比较后的结果,判断文件是否相同:
	[root@linuxprobe ~]# diff --brief diff_A.txt diff_B.txt
	Files diff_A.txt and diff_B.txt differ
	最后使用带有-c参数的diff命令来描述文件内容具体的不同:
	[root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt
	*** diff_A.txt 2017-08-30 18:07:45.230864626 +0800
	--- diff_B.txt 2017-08-30 18:08:52.203860389 +0800
	***************
	*** 1,5 ****
	! Welcome to linuxprobe.com
	Red Hat certified
	! Free Linux Lessons
	Professional guidance
	Linux Course
	--- 1,7 ----
	! Welcome tooo linuxprobe.com
	!
	Red Hat certified
	! Free Linux LeSSonS
	! .....
	Professional guidance
	Linux Course

**软硬链接**
创建硬链接
ln  【源(原)文件】 【目标链接名】
创建软链接
ln  -s 【源(原)文件】 【目标链接名】

sysctl
sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下。sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。
命令格式:

sysctl [-n] [-e] -w variable=value

sysctl [-n] [-e] -p <filename> (default /etc/sysctl.conf)

sysctl [-n] [-e] -a

常用参数的意义:

-w   临时改变某个指定参数的值,如

    sysctl -w net.ipv4.ip_forward=1

-a   显示所有的系统参数

-p   从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

如果仅仅是想临时改变某个系统参数的值,可以用两种方法来实现,例如想启用IP路由转发功能:

1) #echo 1 > /proc/sys/net/ipv4/ip_forward

2) #sysctl -w net.ipv4.ip_forward=1

以上两种方法都可能立即开启路由功能,但如果系统重启,或执行了

# service network restart

命令,所设置的值即会丢失,如果想永久保留配置,可以修改/etc/sysctl.conf文件

将 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1

1, sysctl命令的作用
在运行时配置内核参数
2,用法举例:
-w 用此选项来改变一个sysctl设置
例:sysctl -w net.ipv4.ip_forward=1
-p 载入sysctl配置文件
如-p后未指定路径,则载入 /etc/sysctl.conf
例: sysctl -p /etc/sysctl.conf

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值