shell命令和bash命令相同,指的是命令解析器
快捷键
history
所有的历史命令ctrl + P
向上滚动命令 ctrl + N
向下滚动命令 ctrl+B
将光标向前移动 ctrl+F
将光标向后移动 ctrl+A
移动到命令行头部 ctrl+E
移动到命令行尾部
光标删除操作:删除光标前面字符ctrl+h
或者退格建 删除光标覆盖的字符ctrl+d
删除光标前所有的ctrl+u
Tab
键 自动补全,如果命令不明确连续按两下就可以得到所有相关的命令 同时还能补全路径
目录
Linux
下没有盘符结构
ls 目录
展示文件夹内容 cd 目录
进入目录
/bin
目录放着经常使用的命令的程序/boot
开机启动项/dev
外部设备文件(Linux下一切都是文件/etc
操作系统以及软件所需要的配置文件/home
存放所有用户的主目录/lib
存放动态链接库(共享库)/lost+found
存放文件碎片/media
自动挂载外设/mnt
手动挂载外设,一般情况下没有什么东西/opt
第三方软件安装目录/proc
虚拟目录/root
超级用户的目录/sbin
管理员使用的命令/usr
用户软件资源目录,默认安装目录
绝对路径:从根目录开始
相对路径:从当前路径开始.
当前目录..
父目录 -
退回上次所在的目录
命令行中一般为 当前用户@主机:~$
其中~
为家目录(宿主目录)$
表示普通用户 #
表示超级用户
pwd
获取当前位置
sudo su
切换超级用户 exit
退出 cd ~
进入家目录 cd
进入家目录
文件和目录操作
- 白色:普通文件
- 蓝色:目录
- 绿色:可执行文件
- 红色:压缩文件
- 青色:链接文件(快捷文件)
- 黄色:设备文件(块文件,字符文件,管道)
- 灰色:说不清楚
展示所有的内容:参数-a
前面带点的文件:隐藏文件/目录
参数-l
展示详细信息
详细信息:
- 第1个字符:文件种类
-
普通文件d
目录l
软连接(快捷方式)p
管道 - 第2~10个字符:文件权限
r w x
所有者+同组用户+其他人 - 数字 文件的硬连接数
- 文件所有者
- 文件所有组
- 占有空间:普通文件就是实际大小 目录的话就是目录本身的大小
- 创建/修改日期
- 文件或者目录的名字
创建目录
mkdir 目录名
创建一个目录
mkdir -p 目录1/目录2/目录3
创建复合目录
rmdir 目录
删除一个空目录 //删除后消失
rm 目录 -r
递归删除目录 参数-i
提示删除操作
创建、删除、复制文件
touch 文件
创建文件,不加后缀的时候默认是一个普通文件,如果文件已经存在则无法重新创建,仅仅修改日期
rm 文件
删除文件
cp 原文件 目标文件
拷贝文件内容到文件中,覆盖目标文件,不支持创建和目录名字相同的文件
cp 原文件 目标目录
拷贝文件内容到目标目录中
cp-r 目录 目标目录
将目录拷贝到目标目录,如果目标目录不存在则创建目标目录,将目录的内容直接复制一份放在目标目录中,如果目标目录不为空则将目录放在目标目录中
灵活使用通配符可以操作目录里面的内容,比如删除目录中的内容,拷贝目录中的内容到另一个目录中
查看/修改文件
cat 文件
将文件内容展示到屏幕上,但是只能显示一部分内容
more 文件
回车换行,空格换页,回不到前面去,q
或ctrl+C
退出
less 文件
回车换行,空格换页,Ctrl+P
向前换行Ctrl+N
向下换行
head [-x] 文件
显示文件x行,如果不写参数默认x=10,同样的tail [-x] 文件
mv 文件 重命名
重命名文件
mv 文件 目录
移动文件
链接的创建
软链接
ln -s 绝对路径 软连接名
软连接相当于快捷方式 文件删除后软链接失效
硬链接
ln 文件A 文件B
给文件A备份,相当于拷贝一份目录索引节点,实际上没有复制文件的,同时会修改文件的硬链接计数,相当于一个指针 文件删除后硬链接不会失效
文件或目录属性
wc
获取文本文件的信息:行数 单词数 字符数 文件名od -tX
获取二进制文件信息,其中X为数据显示形式du -h
获取目录的信息df -h
获取磁盘信息
witch
witch 命令
找到命令程序所在目录
cd 命令找不到目录是因为cd命令是内部命令
权限
修改文件权限
查找当前登录用户:whoami
- 文件设定法
chmod who+/-/= mode 文件名
文件所有者u 文件所有组g 其他人o 所有人a
= 覆盖原来的权限
mode: r 读 w 写 x执行 - 数字设定法
chmod 数字 文件名
例如:chmod 777 test
修改文件所属用户、组
文件所属组不一定是文件所有者所在的组
sudo chown 文件所有者[:文件所属组] 文件名
sudo chgrp 文件所有组 文件名
目录必须要有执行权限才能进入目录
查找文件
根据文件名
find 查找目录 -name '文件名'记得加上引号
通配符:*指代零个或者多个字符 ?指代一个字符find 查找目录 -size +/-文件大小
find 查找目录 -size +a -size -b //搜索大于a小于b的文件
find 查找目录 -type 文件类型
文件类型:
- 普通文件 f
- 目录 d
- 块设备 b
- 字符设备c
- 套接字 s
- 管道 p
- 链接 l
文件内容(文件中的内容)
grep -r '查找内容' '查找路径'
安装/卸载软件
sudo apt-get install 软件名称//安装软件
sudo apt-get remove 软件名称//卸载软件
sudo apt-get update //更新软件列表
sudo apt-get clean //清理所有软件安装包//deb包的安装
sudo dpkg -i 安装包名
sudo dpkg -r 安装包名
挂载U盘
卸载挂载的U盘
umount /media/U盘名 //默认挂载在media目录下
挂载U盘
sudo fdisk -l //获得电脑设备的名字
mount 设备名 挂载目录 //比如挂载在mnt目录下
磁盘知识:sd 磁盘种类为SCSI Device
主分区1~4,逻辑分区5~
如果将U盘文件挂载在非mnt目录中会暂时覆盖该文件中的内容,卸载以后恢复
压缩包管理
.gz
使用gzip
压缩文件,不可以保留源文件,不可以压缩目录
gzip *.txt //压缩
gunzip *.gz//解压
.bz2
压缩文件,-k
可以保留源文件,不可以压缩目录
bzip2 *.txt//压缩
bunzip2 *.bz2//解压
tar
参数:不适用z/j参数,只能对文件进行打包,不能压缩
- c 压缩,创建
- x 解压缩,释放
- v 显示压缩过程中的提示信息
- f 指定压缩文件的名字
- z 使用gzip的方式压缩文件
- j 使用bzip2的方式压缩文件
压缩:
tar zcvf 生成压缩包的名字(xxx.tar.gz) 需要压缩的文件/目录
tar jcvf 生成压缩包的名字(xxx.tar.bz2) 需要压缩的文件/目录
解压缩
tar zxvf 压缩包的名字 [-C 目录,如果不写参数为当前目录]
rar
安装rar软件
参数
- a压缩
- x解压缩
压缩:
rar a 生成压缩文件的名字(会自动添加.rar后缀) 压缩的文件或者目录
解压缩
rar x 解压缩文件名 [解压缩的目录]
ZIP
压缩:
zip 压缩包的名字 压缩的文件/目录//压缩目录的时候需要-r 参数
解压缩
unzip 压缩包的名字 [-d 解压目录]
进程管理
who
查找当前用户状态
tty7
带桌面的终端
tty1~6
文字终端
ctrl+alt+f1~7
pts
设备终端
查看进程ps
参数:
- a 查看所有的用户信息
- u 显示用户自己的信息
- x 查看没有终端的应用程序
运行状态中的参数分别代表: R
运行S
后台运行Z
僵尸进程
其中PID
就是程序对应进程的ID
TTY为?的说明不需要终端,这些应用不需要和用户进行交互
管道:将前一个命令的输出当做后一个命令的输入,常用于信息查找什么的
ps aux|grep 内容//查找含有内容的进程
查找到一条以上的内容才算找到进程,因为grep内容的时候本身就是一个进程,会在最后列出
echo 字符串 //将字符串打印在终端中
杀死进程
kill -SIGKILL PID
kill -9 PID
kill -l 查看所有的信号
查看当前进程的环境变量
env //查看所有的环境变量
env |grep PATH //查找只和PATH有关的
key=val:val:val
任务管理器
top