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 / - / l | rwx | rwx | rwx |
- 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 | 读 + 写 + 执行 | rwx | 111 |
6 | 读 + 写 | rw- | 110 |
5 | 读 + 执行 | r-x | 101 |
4 | 只读 | r-- | 100 |
3 | 写 + 执行 | -wx | 011 |
2 | 只写 | -w- | 010 |
1 | 只执行 | --x | 001 |
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=10
或 b="text"
给变量赋值, =
两侧不能有空格
可以使用${变量名}来引用变量:
echo "我今年${a}岁了"