@


前言

由于项目需要用到一些Linux相关知识,故学习了一些Linux基本知识,如目录结构与常用指令等;

资料来源:B站《2021韩顺平 一周学会Linux》


1. Linux目录结构:

Linux的目录结构是核心内容之一,在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版本;

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 目录下;

最后

新人制作,如有错误,欢迎指出,感激不尽!
欢迎关注公众号,会分享一些更日常的东西!
如需转载,请标注出处!

Linux | Linux常用指令学习笔记的更多相关文章

  1. Linux的常用目录学习笔记

    首先,先查看一下Linuxi的一级目录结构: ls: /:表示根目录,文件系统的入口,最高一级目录. bin和sbin:命令保存目录,bin是普通用户能,sbin是root用户用的:/bin存放着系统 ...

  2. (转)Linux最常用指令及快捷键 Linux学习笔记

    Linux最常用指令及快捷键 Linux学习笔记 原文:http://blog.csdn.net/yanghongche/article/details/50827478 [摘自 鸟叔的私房菜]--转 ...

  3. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  4. Linux文件常用指令

    目录 Linux文件常用指令 1.pwd 显示当前目录 2.cd 切换目录 3.mkdir 创建目录 4.touch 修改或创建文件 5.ls 显示目录下的内容 6.cat 查看文件信息 7.echo ...

  5. mongodb常用命令学习笔记

    mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...

  6. 7 种 Javascript 常用设计模式学习笔记

    7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...

  7. linux常用指令学习记录

    前言 本文主要为学习贴,用来记录一些 linux上的常用指令 以供参考. 文件内容查看 cat 从上往下阅读文件内容 cat [-AbEnTv] ${FILE_NAME) cat -n /etc/is ...

  8. LINUX 常用指令学习

    目录 0 查找find 1 别名alias 2 变量的设置 3 常用的系统变量 4 通配符及组合按键 5 指令之间的分隔符(;&||) 6 输出重定向(>,>>,1>, ...

  9. 慕课网-Linux达人养成计划学习笔记

    mkdir -p [目录]创建目录-p 递归创建ls 查看当前目录下的文件和目录等其他文件 cd [目录]命令英文愿意:change directory切换所在目录简化操作cd ~ 进入当前用户的家目 ...

随机推荐

  1. GCC编译 C与C++ C89与C99

    1) 最初的 ANSI C 标准 (X3.159-1989) 在 1989 年被批准,并于 1990 年发布.稍后这个标准被接受为 ISO 标准 (ISO/IEC 9899:1990) .虽然 ISO ...

  2. c# sql在where查询语句中使用字符串变量与int型变量

    使用where语句访问数据库时where语句用上文中以及定义过的变量来查询. string sql3 = string.Format("update Ships set ContainerN ...

  3. .NET6系列:微软正式宣布Visual Studio 2022

    系列目录     [已更新最新开发文章,点击查看详细] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意 ...

  4. VMware vCenter Server 7.0 U2b/6.7 U3n/6.5 U3p,修复 vSphere Client 高危安全漏洞

    vSphere Client(HTML5)中的多个漏洞已秘密报告给 VMware.这里提供了更新和解决方法来解决受影响的 VMware 产品中的这些漏洞. 详见:VMSA-2021-0010 威胁描述 ...

  5. Windows 10 版本 21H1 发布,百度网盘下载

    请访问原文链接:https://sysin.org/article/windows-10/,查看最新版.原创作品,转载请保留出处. Windows 10, version 21H1, all edit ...

  6. Django(46)drf序列化类的使用(ModelSerializer)

    前言 我们上篇文章使用到了Serializer类,可能有小伙伴说太过复杂,那么本篇就为大家带来更加简便的序列化类ModelSerializer ModelSerializer 先来看下ModelSer ...

  7. lms框架应用服务接口和服务条目详解

    目录 应用接口的定义 服务路由特性 服务条目 根据服务条目生成webAPI 服务条目的治理特性 缓存拦截 服务条目的例子 应用接口的实现 开源地址与文档 应用接口的定义 服务应用接口是微服务定义web ...

  8. Nucleus 实时操作系统中断(下)

    Nucleus 实时操作系统中断(下) Nucleus RTOS兼容性 由于中断在Nucleus SE中的实现方式与Nucleus rto截然不同,因此不应期望有特定的兼容性.Nucleus RTOS ...

  9. MapReduce——客户端提交任务源码分析

    计算向数据移动 MR程序并不会在客户端执行任何的计算操作,它是为计算工作做好准备,例如计算出切片信息,直接影响到Map任务的并行度. 在Driver中提交任务时,会写到这样的语句: boolean r ...

  10. C#将DataTable数据导出CSV文件

    C#将DataTable数据导出CSV文件通用方法! //导出按钮调用导出方法    protected void btnCSV_Click(object sender, EventArgs e)   ...