Linux | Linux常用指令学习笔记 #yyds干货盘点#
Posted 多氯环己烷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux | Linux常用指令学习笔记 #yyds干货盘点#相关的知识,希望对你有一定的参考价值。
@TOC
前言
由于项目需要用到一些Linux相关知识,故学习了一些Linux基本知识,如目录结构与常用指令等;
资料来源:B站《2021韩顺平 一周学会Linux》
1. Linux目录结构:
目录 | 说明 |
---|---|
/root | 【常用】超级管理员的主目录; |
/bin | 【常用】Binary的缩写,存放最经常使用的命令; |
/sbin | s是Super User的缩写,存放系统管理员使用的系统管理程序; |
/boot | 【常用】存放Linux启动时的一些核心文件,包括连接文件与镜像文件; |
/dev | 类似windows的设备管理器,把硬件用文件方式储存; |
/etc | 【常用】所有的系统管理所需要的配置文件和子目录,如安装mysql数据库的my.conf; |
/home | 【常用】存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般目录名为账号名; |
/var | 【常用】存放不断扩充的东西,习惯性将经常被修改的目录放在这个目录下,包括各种日志文件; |
/lib | 系统开机所需要最基本的动态连接共享库,作用类似于Windows里的DLL文件。几乎所有程序都要用到这些共享库; |
/usr | 【常用】非常重要,用户的应用程序与文件,类似于Windows下的program files目录; |
/media | 【常用】Linux将识别的设备挂挂载在这个目录下,如:U盘、光驱等; |
/mnt | 【常用】系统提供该目录是为了让用户临时挂载别的文件系统,可以将外部储存挂载在/mnt/上; |
/usr/local | 【常用】另一个给主机额外安装软件所安装的目录。一般通过编译源码方式安装的程序; |
/lost+found | 一般情况下是空的,当系统非法关机后,会存放一些文件; |
/tmp | 存放临时文件; |
/opt | 给主机额外安装软件所存放的目录,如安装Oracle数据库可以安装在此。默认的为空; |
/selinux | SELinux是一种安全子系统,能控制程序只能访问特定文件,有三种工作模式,可自行设置。 |
/proc | 【不能动】虚拟目录,系统内存的映射,访问这个目录来获取系统信息; |
/srv | 【不能动】service的缩写,存放一些服务启动后需要提取的数据; |
/sys | 【不能动】Linux2.6内核变化,该目录下安装了2.6内核中新出现的文件系统sysfs; |
2. 运行级别:
-
0:关机;
-
1:单用户【找回丢失密码】
-
2:多用户状态没有网络服务(少用);
-
3:多用户有网络状态服务(经常用);
-
4:系统未使用保留给用户;
-
5:图形界面(常用);
- 6:系统重启;
init、systemctl
命令 | 说明 |
---|---|
init 5 | 切换运行级别为5; |
systemctl get-default | 查看当前运行级别; |
systemctl set-default TARGET.target | 设置运行级别 |
TARGET:
在CentOS7后,在/etc/inittab文件中,进行了简化:
multi-user.target
:类似于3;
graphical.target
:相当于5。
3. vim相关快捷键:
命令 | 说明 |
---|---|
vim XXX | 进入XXX文件 -> “一般模式”; |
yy p | 复制黏贴; |
5yy p | 赋值黏贴以下5行; |
dd | 删除当前行; |
u | 撤销; |
gg | 到首行; |
G | 到末行; |
20 shift键+g | 快速定位到20行; |
i或a | “一般模式”-> “编辑模式”; |
ESC键 | “编辑模式” ->“一般模式”; |
: 或 / | “一般模式”-> “命令行模式”; |
:set nu | 设置行号; |
:set nonu | 取消行号; |
/XXX | 查找XXX关键字,n查找下个; |
:w | 保存; |
:q | 退出; |
:wq | 保存并退出; |
:q! | 强制退出不保存; |
ESC键 | “命令行模式”-> “一般模式”; |
4. 开关机相关命令:
shutdowm、halt、reboot、sync、logout
命令 | 说明 |
---|---|
shutdowm -h now | 立刻关闭主机; |
shutdowm -h 1 "一分钟后关机" | 一分钟后关机,并显示“一分钟后关机”; |
shutdowm | 同上; |
shutdowm -r now | 立刻重启主机; |
halt | 关机; |
reboot | 重启; |
sync | 把内存数据同步到磁盘; |
su - root | 切换root用户; |
logout | 注销当前用户/注销; |
5. 查看系统信息相关命令:
命令 | 说明 |
---|---|
uname -r | 查看Linux内核版本; |
cat /etc/os-release | 查看系统配置; |
cat /etc/redhat-release | 查看centOS版本; |
ps -ef | 查看当前进程状态的全格式; |
6. 用户管理相关命令:
useradd、passwd、userdel、id、su、logout
命令 | 说明 |
---|---|
useradd + 用户名 | 添加用户; |
useradd -d /home/test king | 添加King用户,该用户文件夹名为test; |
passwd | 给当前登录用户修改密码; |
passwd + 用户名 | 给指定用户修改密码; |
userdel + 用户名 | 删除用户,保留家目录(一般情况即建议保留); |
userdel -r + 用户名 | 【慎重】删除用户与家目录; |
id + 用户名 | 查询用户信息; |
whoami | 查询当前登录的用户,切换后还是之前的,下同; |
who am i | 查询当前用户信息,登录ip等; |
su + 用户名 | 切换用户(权限高向低不用密码) |
logout或exit | 注销当前用户/注销,返回上一层; |
用户组管理:
groupadd、usermod、groupdel
命令 | 说明 |
---|---|
groupadd + 组名 | 添加组名; |
useradd -g + 组名 + 用户名 | 增加用户时直接加上组; |
usermod -g + 组名 + 用户名 | 修改用户的组; |
groupdel + 组名 | 删除组; |
用户和组相关文件
目录 | 说明 |
---|---|
/etc/password | 【用户配置文件】每行含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell |
/etc/shadow | 【口令配置文件】每行含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 |
/etc/group | 【组配置文件】每行含义:组名:口令:组标识号:组内用户列表 |
7. 帮助指令:
man、help
命令 | 说明 |
---|---|
man ls | 获取帮助信息(按空格键换页),后续可以-a; |
ls -a | 列出所有文件,包括以“.”开头的隐藏文件; |
ls -l | 单列输出文件,每一行一个文件(详细); |
ls -la /root | 列出指定目录/root的所有、单列文件; |
help | 获取shell内置命令的帮助信息; |
help cd | 获取cd用法说明(英文),建议直接百度; |
8. 文件目录指令:
ls、pwd
命令 | 说明 |
---|---|
ls | 列出当前目录下目录或文件; |
ls -a | 列出所有文件,包括以“.”开头的隐藏文件; |
ls -l | 单列输出文件,每一行一个文件(详细); |
ls -h | 按照人能看懂的单位显示文件;(大小等) |
ls -la /root | 列出指定目录/root的所有、单列文件; |
pwd | 显示当前用户在哪个目录下(绝对路径); |
cd
命令 | 说明 |
---|---|
cd XXX | 进入XXX文件夹; |
cd ~ | 返回到家目录; |
cd .. | 返回当前目录是上一级目录; |
cd /root | 回到root目录; |
mkdir、touch
命令 | 说明 |
---|---|
mkdir | 创建目录(文件夹); |
mkdir /home/dog | 在home下创建dog目录; |
mkdir -p /home/animal/dog | 创建多级目录; |
touch hello.txt | 创建hello.txt空文件; |
rmdir 、rm
命令 | 说明 |
---|---|
rmdir + 路径 | 删除空目录; |
rm -rf + 路径 | 【谨慎】递归强制删除非空目录(-r 递归)(-f 强制不提示); |
cp、\\cp
命令 | 说明 |
---|---|
cp hello.txt bbb/ | 将hello.txt复制到bbb文件夹下; |
cp -r /home/bbb /opt | 将/home/bbb整个目录拷贝到/opt; |
\\cp -r /home/bbb /opt | 【谨慎】强制覆盖不提示; |
mv
命令 | 说明 |
---|---|
mv cat.txt pig.txt | 两个文件在同一级目录下,重命名; |
mv pig.txt /root/ | 两个文件在不同级目录下,移动文件(剪切); |
mv pig.txt /root/pig.txt | 移动并重命名; |
mv bbb/ /home/ | 将/bbb整个目录移动到/home下; |
cat、more
命令 | 说明 |
---|---|
cat /etc/profile | 【推荐】查看/etc/profile文件内容; |
cat -n /etc/profile | 查看/etc/profile文件内容,显示行号; |
cat -n /etc/profile | more | 管道命令 | more,将前面指令交给后面处理;(enter下一行,空格翻页,q离开,=输出当前行号,:f输出文件名和当前行号,Ctrl+F向下滚动一屏,Ctrl+B返回上一屏) |
more /etc/bashrc | 用more指令操作/etc/bashrc; |
less
命令 | 说明 |
---|---|
less | 类似more,动态加载; |
less 杂文.txt | 采用less查看大型文件/opt/ 杂文.txt;(空格键下一页,pagedowm下翻一页,pageup上翻一页,q退出,/字符串 向下搜索字符串 n向下 N向上) |
echo
命令 | 说明 |
---|---|
echo | 输出内容到控制台; |
echo $PATH | 输出环境变量; |
echo $HOSTNAME | 输出主机名; |
echo "hello world" | 输出hello world到控制台; |
head、tail
命令 | 说明 |
---|---|
head + 文件 | 显示文件开头部分,默认显示前10行; |
head -n 5 文件 | 查看文件前5行 |
tail+ 文件 | 查看文件尾10行; |
tail -n 5 文件 | 查看文件尾5行; |
tail -f 文件 | 实时追踪该文档的所有更新; |
>、>>
命令 | 说明 |
---|---|
> | 输出重定向(覆盖); |
\\>\\> | 追加; |
echo “hello” > /home/mydate.txt | 将控制台输出内容hello重定向输入到mydate.txt文件; |
ls -a > a.txt | 列表的内容写入a.txt中(覆盖写,文件不存在则自动创建); |
ls -al >> aa.txt | 列表的内容追加到aa.txt的末尾; |
cat 文件1 > 文件2 | 将文件1的内容覆盖到文件2; |
cal >> /home/mycal | 将当前日历信息追加到/home/mycal中; |
ln
命令 | 说明 |
---|---|
ln -s /root/ /home/myroot | 在/home目录下创建一个软连接myroot,连接到/root目录; |
rm /home/myroot | 删除软连接myroot; |
history
命令 | 说明 |
---|---|
history | 查看已执行历史命令,也可执行历史命令; |
history 10 | 显示最近10条历史命令; |
!5 | 执行历史编号为5的指令; |
9. 日期类指令:
date、cal
命令 | 说明 |
---|---|
date | 显示当前时间; |
date "+%Y" | 显示当前年份; |
date "+%m" | 显示当前月份; |
date "+%d" | 显示当前是哪一天; |
date "+%Y-%m-%d %H:%M:%S" | 显示年月日、时分秒; |
date -s "2021-07-09 14:33:10" | 设置日期为2021-07-09 14:33:10; |
cal | 显示日历; |
cal 2021 | 显示2021年日历; |
10. 搜索查找类指令:
find、locate(updatedb)、which、grep
命令 | 说明 |
---|---|
find | 从指定目录向下递归遍历其各个子目录,将满足条件文件或目录显示在终端; |
find /home -name hellow.txt | 查找/home下的hello.txt文件; |
find /opt - user nobody | 查找/opt目录下,用户名为nobody的文件; |
find / -size +200M | 查找整个linux系统下大于200M的文件;(+n大于 -n小于 n等于,单位有k M G) |
updatedb | 将文件形成locate数据库,使用locate查询必须先updatedb; |
locate | 快速定位文件路径(快速、需要定期updatedb); |
locate hello.txt | 快速定位hello.txt文件所在目录; |
which | 可以查看某个指令在哪个目录下; |
which ls | 查找ls指令在哪个目录下; |
grep | 过滤查找,与管道符"|",一起用,表示将前一个命令的处理结果输出传递给后面命令处理; |
cat /home/hello.txt | grep "yes" | 在hello.txt文件中,查找“yes”所在行; |
cat /home/hello.txt | grep -n "yes" | 在hello.txt文件中,查找“yes”所在行,并且显示行号; |
grep -n "yes" /home/hello.txt | 同上; |
cat /home/hello.txt | grep -i "yes" | 在hello.txt文件中,查找“yes”所在行,并且不区分大小写; |
11. 压缩与解压类指令:
gzip、gunzip、zip、unzip、tar
命令 | 说明 |
---|---|
gzip | 压缩文件(只能压缩成 *.gz文件); |
gzip /home/hello.txt | 将/home下的hello.txt文件进行压缩(只能压缩成 *.gz文件); |
gunzip /home/hellow.txt.gz | 将/home下的hello.txt.gz文件进行解压; |
zip | 用于压缩文件或文件夹(-r递归压缩 -d指定解压后存放目录); |
zip -r myhome.zip /home/ | 将/home下的所有文件进行压缩成myhome.zip;(包括home文件夹本身) |
unzip -d /opt/tmp /home/myhome.zip | 将/home/myhome.zip解压到/opt/tmp目录下; |
tar | 打包,将文件打包成 .tar.gz;(-c产生.tar打包文件 -v显示详细信息 -f指定压缩后的文件名 -z打包的同时压缩 -x解包.tar文件) |
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt | 压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz; |
tar -zcvf myhome.tar.gz /home/ | 将 /home 的文件压缩成 myhome.tar.gz; |
tar -zxvf pc.tar.gz | 将 pc.tar.gz 解压到当前目录,切换到 /opt/; |
tar -zxvf /home/myhome.tar.gz -c /opt/tmp2 | 将 myhome.tar.gz 解压到 /opt/tmp2 目录下; |
最后
::: hljs-center
新人制作,如有错误,欢迎指出,感激不尽!
:::
::: hljs-center
欢迎关注公众号,会分享一些更日常的东西!
:::
::: hljs-center
如需转载,请标注出处!
:::
::: hljs-center
:::
以上是关于Linux | Linux常用指令学习笔记 #yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章