前言

由于最近在学习linux,就随便记录一下吧。主要是来自参考的这一篇《Linux 常用操作命令大全(最后更新时间:2022年1月)》

正文

1. 基础知识

1.1 Linux系统的文件结构

我们先来了解一下Linux系统的文件结构

名称解释
/bin二进制文件,系统常规的命令
/boot系统启动分区,系统启动时读取的文件
/dev设备文件
/etc大多数配置文件
/home普通用户的根目录
/lib32位函数库
/lib6465位的函数库
/media手动临时挂载点
/mnt手动临时挂载点
/opt第三方软件安装位置
/proc进程信息以及硬件信息
/root超级用户的根目录
/sbin系统管理的命令
/srvservice数据
/varvaraible经常变动的数据
/sys内核相关信息
/tmp临时文件
/usr用户相关设定

1.2 Linux系统命令行的含义

example: root@app00:~#
root  // 用户名
@     // 分隔符
app00 // 主机名称
~     // 当前所在目录
#     // #为超级用户,$为普通用户

1.3 命令的组成

example: 命令 参数名 参数值

2. 基础操作

2.1 关闭 & 重启系统 (shutdown)

(1) 立刻关机
shutdown -h now 或者 poweroff
(2) 2分钟后关机
shutdown -h 2
(3) 立即重启
shutdown -r now 或者 reboot
(4) 2分钟后重启
shutdown -r 2

2.2 帮助命令(--help) & 说明书 (man)

(1) 帮助命令
ifconfig --help
(2) 命令说明书
man shutdown // 打开命令说明后,可以按"q"退出

2.3 切换用户(su)

(1) 切换用户
su seanzou // 切换用户为"seanzou",输入后回车需要输入该用户的密码
(2) 退出用户
exit       // 退出当前用户

3. 目录操作

3.1 切换目录

cd /      // 切换到根目录 "/"
cd [path] // 切换到[path]
cd ..     // 切换到上一级目录
cd ~      // 切换到home目录"~"
cd -      // 切换到上次访问的目录

3.2 查看目录

ls        // 查看当前目录下的所有目录和文件
ls -a     // 查看当前目录下的所有目录和文件(包含隐藏的文件)
ls -l     // 列表查看当前目录下的所有目录和文件,和命令"ll"类似,但是"ll"会显示"../" 和 "./"
ls [path] // 查看指定目录下的所有文件和目录

3.3 创建目录(mkdir)

mkdir tools        // 在当前目录下创建一个名为tools的目录
mkdir [path]/tools // 在指定目录下创建一个名为tools的目录

3.4 删除目录和文件(rm)

rm [filename]      // 删除当前目录下的文件
rm -f [filename]   // 删除当前目录的文件(不询问)
rm -r [dirname]    // 递归删除此目录下的文件
rm -rf [dirname]   // 递归删除此目录下的文件(不询问)
rm -rf *           // 将当前目录下的所有文件全部删除
rm -rf /*          // 将根目录下的所有文件全部删除(慎用!!!相当于格式化系统。)

3.5 修改目录(mv)

mv 当前目录名 新目录名    // 修改目录名,同样适用于文件操作

3.6 拷贝目录(cp)

cp 当前文件 新文件        // 拷贝
cp -r 当前文件夹 新文件夹 // 迭代拷贝

3.7 搜索目录(find)

find [path] -name 'a*'   // 查找[path]目录下所有a开头的文件和目录 【是否支持正则表达式】

3.8 查看当前目录(pwd)

pwd                      // 查看当前路径

4. 文件操作

4.1 新增文件(touch)

touch a.txt // 在当前目录下创建a的txt文件

4.2 编辑文件(vi, vim)

vi  // Unix编辑器
vim // Linux编辑器

4.2.1 模式转换

-  一般模式
-  编辑模式
-  命令模式

4.2.2 一般模式

- p,粘贴右边,P粘贴左边
- dd,直接删除当前一行
- u,撤销操作
- 3yy,复制3行
- yy, 直接复制当前一行
- y$,复制当前光标后面所有在此行
- y^,复制当前光标前面所有在此行
- yw,当前一个词进行操作
- x,光标所在位置的剪切,X,光标所在位置左边进行剪切
- r,替换一个单词
- R,替换模式,依次替换
- ^,行头
- $,行末
- w,下一个词头
- e,移动到当前词尾
- b,当前词的词头
- gg/H,整个文档开头
- G/L,整个文档页尾
- 3G,去到第三行

4.2.3 编辑模式

- ESC,退出插入模式
- i,当前光标前
- a,当前光标后
- o,直接跳转到下一行进入编辑模式
- I,直接到第一行插入
- A,直接到当前行的最后进行插入
- O,直接到上一行进入编辑模式

4.2.4 命令模式

- :set nu,列行号
- :set nonu,不要行号
- :w, 保存
- :q,退出
- :q!,强制退出
- /,查找,n查找下一个,N查找上一个
- :s,替换:s/old/new,替换当前匹配的第一个
- :s,:s/old/new/g,当前行全部替换
- :%s,:%s/old/new,每一行第一个更改
- :%s,:%s/old/new/g,每一行所有替换

4.3 查看文件

cat a.txt         // 查看文件最后一屏的内容
less a.txt        // PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt        // 显示百分比,回车查看下一行,空格查看下一行,"q"退出查看
tail -100 a.txt   // 查看文件的后100行,"Ctrl+C"退出查看

5. 文件权限

5.1 权限说明

文件权限简介:"r"代表可读(4),"w"代表可写(2),"x"代表执行权限(1),括号内代表"8421"法
## 文件权限信息实例: -rwxrw-r--
- 第一位:'-'代表文件, 'd'代表文件夹
- 第一组三位:拥有者权限
- 第二组三位:拥有者所在的组,组员的权限
- 第三组三位:代表的是其他用户的权限

5.2 文件权限

8421法 chmod 777 a.txt // 1+2+4=7 "说明赋予所有权限"

6. 打包 && 解压

6.1 压缩文件说明

.zip、.rar // windows系统中压缩文件的扩展名
.tar       // Linux中打包文件的扩展名
.gz        // Linux中压缩文件的扩展名
.tar.gz    // Linux中打包并压缩文件的扩展名

6.2 打包文件(tar)

tar -zcvf 打包压缩后的文件名 要打包的文件
参数说明:z: 调用gzip压缩命令进行压缩;c: 打包文件;v: 显示运行过程;f: 指定文件名;
tar -zcvf a.tar file1 file2, ... // 多个文件压缩打包

6.3 解压文件(tar)

tar -zxvf a.tar             // 解包至当前目录
tar -zxvf a.tar -C [path]   // 指定解压的位置
unzip test.zip              // 解压*.zip文件
unzip -l test.zip           // 查看*.zip文件的内容

7. 其他常用的命令

7.1 以系统管理者身份运行(sudo)

sudo [command]

7.2 系统相关

说明:这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况
free -t   // 查看所有内存的汇总
top       // 显示当前系统中占用资源最多的一些进程
df        // 一种易看的显示
uname -a  // 可以显示一些系统信息,内核名称、主机名、内核版本号、处理器类型
date -s "01/31/2010 23:59:53" // 设置系统时间

7.3 scp上传 & 下载

// 用scp从本地桌面上传一个文件到服务器
scp Desktop/fileName username@xxx.servername.com:foldername
// 用scp从服务器下载一个文件到本地桌面
scp username@xxx.servername.com:foldername/filename Desktop
// 用scp从本地桌面上传一个文件夹到服务器
scp -r Desktop/foldername username@xxx.servername.com:foldername
// 用scp从服务器下载一个文件夹到本地桌面
scp -r username@xxx.servername.com:foldername Desktop

7.4 查询网络(ifconfig) & ping网络(ping)

ifconfig          // 查看网络配置
ping [IP Address] // Ping某一个IP地址

7.5 SSH远程连接

ssh [IP Address]  // 远程主机,需要输入用户名和密码

总结

截取了一点Linux 常用操作命令大全(最后更新时间:2022年1月)中感觉比较的内容,学习一下,做个记录。

就是酱紫!(●'◡'●)。

参考

[1] Linux 常用操作命令大全(最后更新时间:2022年1月)
[2] scp上传/下载文件、文件夹

Q.E.D.


立志做一个有趣的碳水化合物