Skip to content

Linux系统基本操作

一、Linux基本指令

1.文件操作

Linux系统与Windows系统不同,没有盘符,只有一个根目录"/",每个用户的目录在/home下,又称属主目录。

root用户的属主目录则是/root

cd 切换目录

cd /bin 跳转到绝对路径 /bin

cd .. 跳转到上一级目录

cd ~ 跳转到属主目录

mkdir 创建目录

mkdir 目录名称 在工作目录创建一个子目录

mkdir -p aaa/bbb 在工作目录下的 aaa 目录中,建立一个名为 bbb 的子目录,若 aaa 目录原本不存在,则建立一个

rmdir 删除目录

rmdir 目录名称 删除空目录

rmdir -p ccc/ddd 在工作目录下的 ccc 目录中,删除名为 ddd 的子目录。若 ddd 删除后,ccc 目录成为空目录,则 ccc 亦予删除。

rm 删除文件&目录

参数:

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

rm -rf 目录名称 直接删除当前目录下的所有文件及目录,无需确认命令行为

cp 复制文件

cp 源文件/目录 目标文件/目录 复制文件或目录

cp file.txt /path/ 将文件 file.txt 复制到目录 /path/

cp -r test/ newtest 将当前目录 test/下的所有文件复制到新目录 newtest

mv 移动/重命名文件&目录

mv 源文件 目标文件 将源文件名改为目标文件名

mv 文件 目录 将文件移动到目标目录中

mv 目录 目录 将源目录移动到目标目录中,若目标目录不存在,则将源目录改名为目标目录

touch 修改文件/目录的时间、创建新文件

touch 文件 修改文件的时间属性为当前系统时间,若该文件不存在,则会创建一个新的空白文件

tar 打包&压缩&解压缩

tar -f archive.tar [要打包的文件&目录] 把要打包的文件和目录打包成一个归档文件 aechive.tar

常用参数:

  • -c: 表示创建新的归档文件
  • -v: 表示详细输出,列出被添加到归档中的文件
  • -f archive.tar: 指定归档文件的名称为 archive.tar

tar 本身不压缩文件,但可以与压缩工具(如 gzip 或 bzip2)结合使用,创建压缩的归档文件(如 .tar.gz 或 .tar.bz2)

tar -zcvf archive.tar.gz directory 打包 directory 目录下的所有文件和子目录,并使用 gzip 压缩,生成名为 archive.tar.gz 的归档文件

  • -z:使用 gzip 压缩归档文件
  • -j:使用 bzip2 压缩归档文件
  • -a:自动选择压缩方式(基于归档文件的扩展名,如 .tar.gz.tar.bz2 等)

tar -zxvf example.tar.gz 解压 example.tar.gz 文件,并在当前目录下恢复其中包含的文件和目录

  • -z: 表示要使用 gzip 解压归档文件。
  • -x: 表示解压操作。
  • -v: 表示详细输出,列出被解压的文件。
  • -f example.tar.gz: 指定要解压的归档文件的名称为 example.tar.gz

./ 执行文件

./file.sh 执行当前目录中的 file.sh (需要有执行权限)

2.用户与权限操作

id 查看当前用户与所在组

useradd 添加用户

useradd 用户名

passwd 修改用户密码

passwd 用户名

chmod 修改文件权限

文件权限用10个字符表示,r 表示可读取,w 表示可写入,x 表示可执行:

文件属性文件所有者
(Owner)
用户组
(Group)
其它用户
(Other Users)
d / - / lrwxrwxrwx
  • d:表示目录
  • -:表示文件
  • l:表示超链接

用法:

chmod [-cfvR] 模式 文件或目录名

参数说明:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
模式说明:

chmod 有两种修改权限的模式:符号模式与八进制数模式

  • 符号模式: 用法: [ugoa...][[+-=][rwxX]

    • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    • +表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

    例子:chmod a+r file1.txt 将文件 file1.txt 设为所有人皆可读取

  • 八进制数模式

#权限rwx二进制
7读 + 写 + 执行rwx111
6读 + 写rw-110
5读 + 执行r-x101
4只读r--100
3写 + 执行-wx011
2只写-w-010
1只执行--x001
0---000

例子:chmod 765 file 把file文件权限设置为765

  • 所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7
  • 用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6
  • 其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5

3. 信息显示

ls 显示目录内容

显示指定工作目录下之内容

参数:

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -d 只列出目录(不递归列出目录内的文件)。
  • -l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。

clear 清屏

清除屏幕

date 查看日期和时间

cat 查看文件内容

用于查看和连接文件

cat aaa.txt 显示文件 aaa.txt 的内容

cat > bbb.txt 将输入重定向到文件 bbb.txt ,覆盖该文件的内容

cat >> ccc.txt 将输入追加到文件 ccc.txt 的末尾

cat ddd.txt | command 将 cat 命令的输出作为另一个命令的输入

more、less

more 命令类似 cat ,不过会以一页一页的形式显示,并非全部打印

  • Enter 向下n行,需要定义。默认为1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 返回上一屏
  • q 退出more

less 与 more 类似,可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页

  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向上翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

4.系统操作

重启与关机

reboot 重启

poweroff 关机

shutdown -h now 立刻关机

shutdown -h +10 再过10分钟关机

安装软件包

在 Debian 和 Ubuntu 中安装:

apt install 软件包名

在centos中安装:

yum install 软件包名

top 显示系统性能与进程

df 查看进程

显示目前在 Linux 系统上的文件系统磁盘使用情况统计

df -h 以人类可读的格式显示输出结果

ps 查看进程

显示当前进程的状态,类似于 windows 的任务管理器

常用:

ps -ef | grep 进程关键字 查找指定进程格式

mount 挂载设备

mount -t ntfs /dev/sdb /mnt/usb 挂载u盘

  • /dev/sdb 代表u盘
  • /mnt/usb 代表挂在的目录

unmount /mnt/usb 卸载u盘

5. vi编辑器

vi 是Linux内置的文本编辑器,终端输入 vi 文件 即可进入,若文件不存在则会被创建

命令模式

启动vi时,自动进入命令模式,此刻可以通过命令编辑文本

一些常用命令:

  • x -- 删除当前光标所在处的字符。
  • dd -- 剪切当前行。
  • yy -- 复制当前行。
  • p(小写) -- 粘贴剪贴板内容到光标下方。
  • P(大写)-- 粘贴剪贴板内容到光标上方。
  • u -- 撤销上一次操作。
  • Ctrl + r -- 重做上一次撤销的操作。

编辑模式

在命令模式按下 i、a、o 均可进入编辑模式(左下角显示**[-- 插入 --]**)

  • i -- 切换到输入模式,在光标当前位置开始输入文本。
  • a -- 进入插入模式,在光标下一个位置开始输入文本。
  • o:在当前行的下方插入一个新行,并进入插入模式。
  • O -- 在当前行的上方插入一个新行,并进入插入模式。

编辑模式下可以用键盘自由输入字符,按esc 回到命令模式。

底线命令模式

在命令模式按下 :(英文冒号)进入底线命令模式

底线命令模式可以输入单个或多个字符的命令,常用命令如下:

  • :w:保存文件。
  • :q:退出 Vim 编辑器。
  • :wq:保存文件并退出 Vim 编辑器。
  • :q!:强制退出Vim编辑器,不保存修改。

二、Linux Shell

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言

1. 开始

扩展名并不影响脚本执行,但习惯使用 .sh 表示 Linux Shell 脚本

可以使用 vi test1.sh 来创建第一个shell脚本(用vi编辑器编辑)

2. 变量

可以通过 a=10b="text" 给变量赋值, = 两侧不能有空格

可以使用${变量名}来引用变量:

echo "我今年${a}岁了"