文件系统导航:
cd:路径跳转
ls:查看目录下的文件信息
-l:显示所有文件的详细信息
-a:显示所有文件,包括隐藏文件
-R:分目录显示所有文件
ls 后也可以直接跟要显示的文件路径,一个或多个
pwd:查看当前终端操作的目录的绝对路径
文件资源管理:
touch:创建普通文件
创建文件
修改文件时间戳
mkdir:创建目录文件
mkfifo:创建有名管道文件
cp:复制文件
cp + 原文件路径 + 目的文件路径
cp + -r + 原文件路径 + 目的文件路径
rm:删除文件
rm + 文件路径
rm + -r 目的文件路径(删除目录文件)
rmdir:删除空目录文件
mv:移动文件
移动文件到指定路径
重命名
file:查看文件类型
file + 文件路径
Windows下可执行程序文件的后缀为:.exe
Linux下可执行文件的后缀为:.elf
文件内容显示
cat + 文件路径:将文件内容输出到终端
head + 文件路径:显示文件开头,默认为前十行
head -n num + 文件路径:显示文件开头前num行的内容
tail + 文件路径:显示文件结尾,默认为后十行
tail -n num + 文件路径:显示文件结尾后num行的内容
链接文件管理
命令:ln——创建链接文件
软链接:相当于文件的快捷方式(符号链接)
ln -s + 文件路径 + 软链接文件名
注意:
软链接的文件类型是链接文件,且其操作权限不可被修改(修改之后也是对原文件的修改)
如果源文件路径发生修改或者源文件被删除则软链接失效
如果在创建软链接时源文件路径写的是相对路径,那么当链接文件路径修改也导致软链接失效,所 以建议在创建软链接时源文件路径写为绝对路径可以避免此问题
通过与源文件对比inode号可知,软链接是一个独立的文件(ls -i:查看inode号)
硬链接:相当于文件的备份
ln + 文件路径 + 硬链接文件名
注意:
通过与源文件对比inode号可知,硬链接的文件类型是和源文件的文件类型相同,所以 可以做到通过硬链接也能访问到源文件
创建硬链接时即使写的文件路径是一个相对路 径,移动硬链接不会影响到硬链接访问源文件
当源文件删除,不会影响到硬链接文件的存在, 硬链接顶替源文件
文件的压缩和打包(压缩和归档)
. 压缩:将一个较大的文件缩小
压缩针对的目标:文件
压缩特点:源文件将不会存在,变为压缩后的文件
压缩工具:
gzip:
1. gzip + 文件路径
2. 解压命令:gunzip
3. 压缩文件的文件后缀:.gz
bzip2 :
1. bzip2 + 文件路径
2. 解压命令:bunzip2
3. 压缩后的文件后缀:.bz2
xz:
1. xz + 文件路径
2. 解压命令:unxz
3. 压缩后的文件后缀:.xz
打包(归档)
功能:将多个文件或者目录等一系列文件打包为一个 文件
tar:完成归档操作
-c:创建归档
-x:释放归档
-v:查看创建或者释放归档的过程
-f:指定归档文件名
-z:以gzip的形式归档并压缩文件
-j:以bzip2的形式归档并压缩文件
-J:以xz的形式归档并压缩文件
完成归档的示例:
tar -cvf nan.tar demo.c pro(将demo.c和pro目录文件打包 为nan文件)
归档文件如果创建完成就可以继续完成压缩操作即可以用gzip工具压缩文件
注意:
万能的释放并解压的指令为:tar -xvf 压缩的归档文件
归档的时候源文件仍然会被保留
使用命令时参数选项的顺序可以随意调整,但是-f 必须在选项最后
shell中的特殊字符
1. 通配符:
1. *:匹配任意长度的字符
2. ?:匹配一个字符
3. []:匹配方括号内存在的一个字符
4. [ - ]:匹配一个范围内的一个字符
5. [^]:匹配除了方括号内存在的一个字符都进行匹配
几个通配符可以混合使用
2. 管道:
1. |:将一个命令的结果作为另外一个命令的输入
1. grep:查找字符串
2. wc:统计
1. -c:字节数
2. -m:字符数
3. -l:行数
4. -w:单词数
3. 重定向:改变输入输出源
1. >:重定向输出源,覆盖的形式进行输入到输出源中
2. >>:重定向输出源,追加的形式进入输入到输出源中
3. <:重定向输入源
4. 2>,&>:重定向错误输出源
4. 命令置换符
1. ``:命令置换符不是单引号,是键盘上esc键下方符号
1. 作用:使得一个命令实现,并且捕获该命令的 输出,也可也理解为获取一条命令的结果来作 为另外一条命令的输入
2. echo:向终端输出想要输出的字符串
进程管理相关shell命令:
1. ps:查看当前终端运行的进程的信息
参数选项:
-aux:查看所有用户进程的详细信息
查看详细信息中进程状态相关字母含义:
S:等待态
T:停止态
R:运行态
Z:僵尸态
D:不可被中断的等待态进程
X:死亡态
s:拥有子进程的进程
大写的i:闲置在内核的进程
小写的L:拥有子线程的进程
<:高优先级的进程
N:优先级较低的进程
+:运行在前台的进程
ps指令查看的是使用该指令时那一个时刻进程的状态信息
2. top:动态查看进程的相关信息
3. kill:向指定进程发送信号
1. kill -l:查看所有信号
2. kill 信号编号 进程id:向指定进程id的进程发送 指定信号
1. -9:向进程发送SIGKILL信号,进程默认处理方式为结束进程
2. -19:向进程发送SIGSTOP信号,进程默认处理方式为停止进程
3. -18:向进程发送SIGCONT信号,进程默认处理方式为恢复停止的进程
系统管理基本命令
1. shutdown:计算机关机管理
使用方法
shutdown + -h + now:立即关机
shutdown + -h + 时间:定时关机
shutdown + -r + now:立即重启
2. reboot:重启计算机
3. date:获取系统时间
date + -s + 时间:设置系统时间
用户管理
1. adduser:添加用户
使用方法:sudo adduser + 用户名
2. su:切换用户
使用方法:su + 用户名
注意:如果su后不加用户名表示切换到超级用户
3. exit:退出用户
注意:当是创建该终端的用户使用exit指令时表示 结束终端
4. passwd:修改密码
使用方法:sudo passwd + 用户名
sudo passwd + -d + 用户名:删除该用户的密码
5. usermod:修改文件属性
sudo usermod -aG 用户组名 用户名:将指定的 用户添加到指定的用户组中
sudo usermod -d /home/新用户名 -m -l 新用户 名 需要修改名字的用户:修改用户名
与用户管理相关的配置文件:
/etc/group:用户组配置相关的文件
/etc/passwd:用户信息
/etc/shadow:用户密码信息
使用户拥有sudo的效果
1. /etc/sudoers,修改文件的写入权限
2.在文件中添加:用户名 ALL=(ALL:ALL) ALL
3.保存并退出,将sudoers文件权限改回原来的样子
文件权限管理
2. chown:修改文件的所有者
1. sudo chown + 用户名 + 文件路径
3. chgrp:修改文件的所属组
1. sudo chgrp + 用户组名 + 文件路径
软件包管理:deb,rpm
1.离线获取
dpkg sudo dpkg + -i + 软件包:安装软件
sudo dpkg + -r:卸载软件
优势:没有网络也能完成安装
劣势:无法检测软件包依赖,不能在线获取软件
2.在线获取
apt
apt-get:
子命令:
update:更新软件包信息,一般在软件有新的版 本,或者更新了软件源列表文件/etc/apt/sources.list时 需要使用,建议在下载软件包之前都调用一下该命令
install:下载并安装软件
使用说明:sudo apt-get install + 软件包名
软件包下载之后存放的缓存路 径:/var/cache/apt/archives
remove:删除软件包
选项
-d:只下载软件包不安装
--reinstall:结合install子命令一起使用,表示重新 安装
--purge:结合remove子命令一起使用,表示彻底 删除软件包
apt-cache:获取软件包信息