linux常用命令的学习
一、常用的快捷键和帮助命令
快捷键 | 作用 |
---|---|
ctrl + l | 清屏 |
ctrl+c | 停止进程 |
“⬆”、“⬇” | 查找曾经执行过的命令 |
tab | 命令补全(如果有相同的前缀式先补前缀) |
命令 | 作用 |
---|---|
man [命令活配置文件] | 获取帮助信息,按‘q‘退出 |
help 命令 | 获取shell内置命令的帮助信息 |
二、与目录相关的命令
注意:作用中的符号与命令之间是由空格的!
命令 | 作用 |
---|---|
pwd | 显示当前目录的绝对路径 |
ls | 列出目录下文件 |
-a,显示全部文件(包括隐藏文件,以.开头的文件) | |
-d,列出目录本身 | |
-l,长数据串列出,包括文件属性和权限 | |
cd [选项] [目录名称] | 切换到指定目录 |
~:进家目录(home) | |
-:返回上一次所在的目录 | |
… :返回当前目录的上一级目录 | |
…/:上一级目录 | |
./:当前目录 | |
mkdir [选项] 目录名称 | 创建指定目录 |
-p(选项):递归创建多层目录 | |
rmdir [选项] 目录名称 | 删除空目录 |
-p (选项):删除多级目录 | |
cp [选项] [源目录或文件名字] [目标目录或文件名字] | 复制目录或文件 |
-r:递归复制整个文件夹 | |
mv [选项文件] 新位置[新名称] | 移动文件或重命名文件 |
rm [选项]文件 | 删除文件及目录 |
-f:强制执行 | |
-r:递归执行 |
补充:
绝对路径:从根目录出发的一个绝对路径(以"/"开头的都是绝对路劲)
相对路劲:相对于当前所在目录的路径
与文件相关的命令
命令 | 作用 |
---|---|
touch [选项] 文件名 | 创建文件 |
echo 字符串或变量 | 输出字符串或变量值,还可以搭配从定向符将内容存储到文件 |
echo 内容 >> 文件 :以追加的形式向文件夹中传入值 | |
echo 内容 > 文件 :以覆盖的形式向文件夹中传入值 | |
cat [选项] 文件名 | 查看文件内容,从第一行开始显示 |
-A:列出特殊字符而非空白 | |
-b:列出行号,空白行不算行号 | |
-n:列出行号,空白行也会有行号 | |
-v:列出一些看不出来的特殊字符 | |
more [选项] 文件 | 查看文件内容,一页一页的显示(q退出,ctrl+f向下滚一屏,ctrl+b返回上一屏) |
head [选项] 文件 | 查看文件内容,只看头几行(默认10行) |
-n:默认查看头n行 | |
tail [选项] 文件 | 查看文件内容,只看末尾几行(默认10行) |
-n:默认查看末尾n行 | |
-f:输出文件修改内容,用于追踪文件修改(ctrl + C停止) | |
wc [选项] 文本 | 统计指定文本的函数、字数、字节数 |
-l:显示行数 | |
-w:娴熟单词数 | |
-c:显示字节数 | |
stat [选项] 文本 | 查看文件的具体存储信息和时间等信息 |
file 文件名字 | 查看文件类型 |
vim编辑器
yum install vim -y
命令模式
操作类型 | 操作键 | 功能 |
---|---|---|
方向移动 | H、J、K、L或上下左右键 | 上下左右 |
翻页 | PageDown 或 ctrl + f | 下翻页 |
PageUp 或 ctrl+b | 上翻页 | |
行内快速跳转 | HOME 键 或 ^ 、数字0 | 跳至行首 |
END键 或 $ | 跳至行尾 | |
行间快速跳转 | gg | 跳转文件首行 |
n + gg | 跳转文件的第n行 | |
G | 跳转文件尾行 |
操作类型 | 操作键 | 功能 |
---|---|---|
删除 | x或Del | 删除光标处的单个字符 |
dw | 删除至一个单词的末尾 | |
d2w | 删除两个字符 | |
dd | 删除当前光标所在行 | |
n + dd | 删除从光标开始的n行内容 | |
d^ | 删除当前光标之前的所有字符(不含光标) | |
d$ | 从当前光标删除到行尾(包括光标) | |
复制 | yy | 复制当前行整行的内容到截切板 |
nyy | 复制当前光标所在行开始的n行内容 | |
粘贴 | p | 粘贴 |
替换 | r+字符 | 输入r+字符,替换所在位置字符 |
R+字符 | 连续替换多个字符 |
可视模式
- 按v进入可视模式
- 移动光标位置
- 按y复制
- p粘贴
其余操作
查找替换
操作键 | 功能 |
---|---|
/word | 从上而下在文件中查找字符串“word” |
n | 向下查找匹配字符串 |
N | 向上查找匹配字符串 |
撤销及保存
操作键 | 功能 |
---|---|
u | 撤销最后执行的命令(可多次) |
U | 撤销整行命令 |
ZZ | 保存当前的文件内容并退出vi编辑器 |
插入模式
操作键 | 功能 |
---|---|
i | 光标前插入文本 |
a | 光标后插入文本 |
A | 行末尾插入文本 |
o | 光标下行插入文本 |
O | 光标上行插入文本 |
末行模式
功能 | 命令 | 备注 |
---|---|---|
保存文件 | :w | 保存修改内容 |
:w /root/newfile | 另存为其他文件 | |
退出vi | :q | 未修改退出 |
:q! | 放弃修改退出 | |
保存文件退出vi | :wq | 保存修改内容退出 |
行号显示 | :set up | 在编辑器中显示行号 |
:set nonu | 取消编辑器中显示行号 |
替换命令
命令 | 功能 |
---|---|
😒/oldString/newString | 替换改行首个 |
😒/oldString/newString/g | 替换该行 |
:%s/oldString/newString/g | 替换该文档全部 |
文本相关的命令
命令 | 功能 |
---|---|
grep [参数] 内容 文件 | 再文件中搜索字符串匹配的行并输出 |
-c:只输出匹配行的行数(不输出内容) | |
-n:输出行数和匹配的行号 | |
sed [option] ‘command’ 输入文本 | 文本文件处理工具,他是以【行】为单位进行处理,可以将数据行进行替换、删除、新增、刷选等特定工作。 |
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自被处理和未被处理的数据都会显示在控制台。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行才会被列出来。 | |
-i∶直接修改读取的档案内容,而不是由控制台输出。(就是可以修改源文件) | |
a∶新增, 在下一行插入 | |
c∶替换, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!(整行替换) | |
d∶删除,因为是删除啊,所以 d 后面通常不加东西,源文件不变, (加 -i 的话就会在源文件改变了) | |
i∶插入, 在上一行插入 | |
s∶替换 (‘s/要替换的/替换内容’) | |
p∶展示,列出最终的结果,数字n表示第n行,$表示最后一行,'x , y’表示区间,也支持正则匹配 | |
awk options ‘commands’ 文件 | 文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 |
$0:当前行记录 | |
1 − 1- 1−n:第一到第n列数据 | |
FILENAME : 当前输入文件名称 | |
NR : 记录数(行号) | |
NF : 读取文件的记录数(行号) | |
OFS : 输出字段分隔符 | |
FS : 输入字段分隔符 | |
ORS : 输出记录分隔符 | |
RS : 输入记录分隔符 |
查找命令与日期命令
命令 | 功能 |
---|---|
find [搜索范围] [匹配条件] | 查找文件或目录 |
-name:按文件名查找 | |
-user:按文件拥有者查找 | |
-size:根据文件大小查找文件(+n大于,-n小于,n等于) | |
date [选项] [格式] | 显示或设置时间 |
-s:以字符串的格式设置时间 | |
+%Y:显示当前年份; +%m:显示当前月份; +%d:显示当前那一天; +%H:显示当前小时数; +%M显示当前分钟数; +%S显示当前秒数 | |
+%Y%m%d:年月日; “+%Y-%m-%d %H:%M:%S”:年月日,时分秒 |
压缩和解压缩
打包:将多个文件汇总成一个文件
压缩:将一个大文件通过一些算法变成一个小文件
命令 | 作用 |
---|---|
tar [参数] 包名.tar.gz 待打包内容 | 打包目录,压缩后的文件格式为tar.gz |
-c:打包 | |
-v:显示详细的tar处理文件信息过程 | |
-f:要操作的文件名 | |
-x:解包 | |
-z:通过gzip进行归档压缩或解压 | |
-C:解压文件到指定目录,解压到当前目录无需-C |
命令 | 功能 |
---|---|
zip [] 包名.zip 待压缩内容 | 压缩文件目录 |
unzip 包名.zip | 解压 |
-r:递归压缩目录 | |
gzip [参数] 文件 | 压缩 |
gzip [参数] 文件.gz | 解压 |
进程相关命令
命令 | 功能 |
---|---|
ps | 查看linux系统中所有进程 |
-e:显示所有进程 | |
-f:全格式 | |
-a:all显示现行终端机下的所有格式,包括其他用户程序 | |
-u:userlist以用户为主的格式来显示程序状况 | |
-x:显示所有程序,不易终端机区分 |
命令 | 功能 |
---|---|
| | 对上一个命令的结果进行过滤。例:ps -aux | sed ‘ssh/p’ -n |awk ‘{print $1,$2,$11}’ |
top [选项] | 查看系统健康状态 |
-d秒数:指定top每隔几秒更新,默认3s | |
-i:使top不显示任何闲置或僵死进程 | |
-p:通过指定监控进程id来将恐某个进程的状态 | |
-s:使top在安全模式下运行,去除交互命令带来的潜在危险 |
操作键 | 说明 |
---|---|
shift+n | 以PID排序 |
shift+m | 以内存排序 |
shift+p | 以cpu使用率排序,默认选项 |
q | 退出top |
命令 | 功能 |
---|---|
pidof [参数] 服务名称 | 查询某个指定服务进程的pid |
kill [选项] id | 之中某个指定pid的服务进程 |
-9:强迫进程立即停止 | |
killall [选项] 服务名 | 终止某个指定名称的服务对应的所偶进程 |
和系统状态相关命令
还有很多,有需要直接检索使用即可,一些参数没写完。
命令 | 功能 |
---|---|
ifconfig 或者 ip addr | 获取网卡配置和网络状态信息 |
netstat [参数] | 显示整个系统目前网络情况,比如目前的链接、数据包传递数据、路由表内容等(如果该命令不能用,需要下载net-tools,yum install net-tools。) |
-t:显示TCP传输协议的连接状况。 | |
-u: 显示UDP传输协议的连接状况。 | |
-n: 直接使用IP地址,而不通过域名服务器。 | |
-l: 显示监控中的服务器的Socket。 | |
-p: 显示正在使用Socket的程序的进程号和程序名称。 | |
uname [选项] | 查看系统内核和系统版本等信息 |
uptime | 查看系统的负载信息,可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。 |
free [选项] | 显示当前系统中内存的使用信息(-m:以兆字节显示,-h:带单位输出) |
关机命令
命令 | 功能 |
---|---|
shutdown [-option] | 关机 |
-h:关机 | |
-r:重启 | |
reboot | 重启系统,等同于shutdown -r now |
poweroff | 关闭系统 |
halt | 关闭系统 |
三、权限管理
一个文件只能归属一个用户和组,一个用户可以同时归属于多个组。
创建用户和组(root中进行)
useradd 用户名
passwd 用户密码
切换用户(root到其他用户无需密码,其他用户到root要输入root用户的密码)
su 用户名
建工作组
groupadd 组名
新建用户时加入工作组
useradd -g 组名 用户名
删除用户删除组
userdel 用户名
groupdel 组名
权限
1、Linux文件一共有三种身份:
- u:文件的拥有者(user)
- g:文件所属的群组(group)
- o:其他用户(other)
2、对于每个身份,又有四种权限:
- r:读取文件的权限(read)
- w:写入文件的权限(write)
- x:执行的权限(execute)
- s:特殊权限(special)
修改文件所属组和权限
chown [参数] user[:group] 文件
参数 | 参数说明 |
---|---|
user | 新的文件拥有者的使用者 ID |
group | 新的文件拥有者的使用者组(group) |
-R | 处理指定目录以及其子目录下的所有文件 |
–help | 显示辅助说明 |
–version | 显示版本 |
修改权限
给所有身份赋予执行权限
chmod a+x 文件名
给某一个用户去除某个权限
chmod u-x 文件名
chmod以数字形式改变文件
- 读取权限:r 或者4
- 写入权限:w或者2
- 执行权限:x或者1
- 可读写可执行:rwx = 4 + 2 + 1 = 7
- 可读写不可执行:rw- = 4 + 2 = 6
- 可读不可写可执行:r-x = 4 +1 = 5
-rw------- (600) 只有拥有者有读写权限。
-rw-r–r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx–x–x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。
学习来源:[https://ydlclass.com/ui/learningPath]