@


前言

由于项目需要用到一些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. Linux服务之nginx服务篇三(反向代理、负载均衡)

    一.Nginx实现反向代理 概念 反向代理:在收到客户端请求之后,会修目标IP地址和端口 正向代理:在收到客户端请求之后,会修源IP地址和端口 上游服务器:代理服务器后端的哪些真正给客户端提供服务的节 ...

  2. mysql基础之数据库备份和恢复的基础知识

    备份数据的最终目的是为了在出现一些意外情况时,能够通过备份将数据还原,所以单单的备份数据往往是无法满足还原时的需求的,所以在备份数据库时,除了要备份数据本身,还要备份相关的数据库环境,如配置文件,定时 ...

  3. python3 ftplib模块连接FTP

    from ftplib import FTP_TLS import os import re class MyFtp(FTP_TLS): """继承FTP类"& ...

  4. 小程序webview涉及的支付能力、选用绑定多商户支付

    小程序webview涉及的支付能力.选用绑定多商户支付 webview承接页面涉及的支付能力: 仅支持小程序本身支付能力,不支持承接页面内的原支付功能(譬如,webview中嵌入了h5官方商城,经过配 ...

  5. 西门子 S7200 以太网模块连接组态王方法

    北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...

  6. .NET平台系列16 .NET5/Asp.Net Core 在全球Web框架权威性能测试 Web Framework Benchmarks 中的吊炸天表现

    系列目录     [已更新最新开发文章,点击查看详细] TechEmpower Web Framework Benchmarks 是许多Web应用程序框架执行基本任务(如JSON序列化.数据库访问和服 ...

  7. [leetcode] 46. 全排列(Java)

    46. 全排列 这题我们可以借用31. 下一个排列写的nextPermutation函数来做,稍微改造一下即可 注意要先给nums排个序 class Solution { // 当没有下一个排列时re ...

  8. 'utf-8' codec can't decode byte 0xd5 in position XXX: invalid continuation byte问题

    找了一下午,各种资料搜集,愣是没搜出来答案. 结果今天早上,做一个小小的改变,就整出来了... 步骤如下: 1.打开excel,全选数据 2.新建记事本,粘贴,选择脚本,更改字体: 3.新建Excel ...

  9. 获取当前进程的pid

    获取当前进程的pid import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; ...

  10. PyTorch Data Parrallel数据并行

    PyTorch Data Parrallel数据并行 可选择:数据并行处理 本文将学习如何用 DataParallel 来使用多 GPU. 通过 PyTorch 使用多个 GPU 非常简单.可以将模型 ...