常用快捷键
ctrl+shift+"+" 放大
ctrl+- 缩小
ctrl+alt+t 打开终端
ctrl+l 删除命令,本质是换页
ctrl+s 终端锁定,无法进行任何操作
ctrl+q 解除终端锁定
终端指令入门
st@st-virtual-machine:~$
st:用户名
@:分隔符,无意义
st-virtual-machine:主机名
~:家目录(/home/st)
$ :区分当前登录用户的角色
$ :普通用户
#:ROOT用户(超级用户,管理员用户)
文件系统
Linux本质上是一个文件系统,Linux文件系统是操作系统组织、存取、保存数据的一种手段,具体以倒状数的形式。
倒状树结构中的目录
分注释:
1、/:根目录,绝对路径的起点
2、/bin:存放系统的普通指令
3、/boot:存放系统的引导文件
4、/dev:存放硬件设备对应的文件
5、/etc:存放系统和应用程序的配置文件
6、/home;家目录,存放当前系统下所有用户对应的目录
7、/lib:存放系统和应用程序的依赖库
8、/proc:存放系统运行时的运行信息
9、/usr:软件的默认安装路径
10、/var:存放缓存,备份文件
11、/cdrom:光驱
12、/mnt:用于系统文件系统的挂载目录
13、/sbin:存放特殊指令
路径
1、绝对路径
以根路径(/)为参考点描述的路径
例:
/mnt/hgfs/Linux/1.txt mnt目录下的hgfs目录下的Linux目录下的1.txt文件
2、相对路径
以当前目录(./)为参考点的路径
例:
1、cd ./st(等价于 cd st,推荐此写法,因为简便) 切换到当前目录下的st目录 2、cd /home 切换到根目录下的home目录
Linux系统的文件类型
1、d:目录(文件夹)
2、-:普通文件
3、l:文件的快捷方式
4、c:字符设备文件
5、b:块设备文件
6、s:套接字文件
7、p:管道文件
目录操作
1、pwd
说明:查看当前目录的绝对路径
执行:所有用户可执行
例:
定位hgfs文件夹所在的绝对路径
2、ls
说明:查看指定路径(默认当前目录)下的文件或目录
执行:所有用户
查看hgfs文件夹下的Code文件
选项:
1、-a:显示所有目录,包括隐藏目录(隐藏文件一般以.开头,如.vimrc)
2、-l:显示所有目录详细列表(默认不含隐藏目录)
3、-r:将所有目录列表倒顺显示(默认以英文字母顺序显示)
4、-t:将所有目录列表按照创建时间的先后顺序显示
注:以上各选项可组合使用
例:
ls -l -t -a -r(等价于ls -ltar):所有目录(包括隐藏目录)以列表形式按时间逆序排序
3、cd
说明:切换目录
执行者:全部用户
常用写法:
1、cd ~(等价于cd /home/st):切换到当前登录用户的家目录家的用户目录,即切换到/home/st
2、cd -:返回到上一次的操作的目录
cd /home/st cd /mnt/hgfs cd - 返回到/home/st
3、cd /:返回到根目录
4、cd ./:返回到当前目录
5、cd ../(等价于cd..):返回到上一级目录
cd../../(等价于cd../..):返回到上上一级目录
cd /mnt/hgfs 1、cd ../ 返回到mnt目录 2、cd ../../ 返回到/目录
以此类推。。。
4、mkdir
说明:创建新的空目录
执行:所有用户
选项:-p:可以创建新的多层目录(嵌套目录)
例:
1、mkdir 20250423:在当前目录中创建单个目录,目录名称为20250423
2、mkdir 20250423 20250424 20250425:在当前目录中批量创建多个目录
3、mrdir -p a1/b1/c1:在当前目录中创建a1目录,在a1目录中创建b1目录,在b1目录中创建c1目录
5、rmdir
说明:删除空目录(仅限删除空目录)
执行:所有用户
例:
1、rmdir 20250423:删除当前目录下名为20250423的空目录
2、rmdir *:删除当前目录下的所有空目录
3、rmdir text*:删除当前目录下所有以text开头的空目录
6、touch
说明:创建新文件
执行:所有用户
例:
1、touch text.txt:在当前目录下创建新的单个文件
2、touch text1.txt a1/text2.txt:指定路径并批量创建文件
7、rm
说明:1、删除目录:需要借助选项-r递归删除,目录可以是空目录,也可以是非空目录
2、删除文件:不需要借助选项-r,加了-r也不影响操作
执行:所有用户
知识点:递归删除
1、查找:从外层向内层逐层查找
2、删除:从内层向外层逐层删除
例:
1、rm text.txt:删除单个名为text.txt的文件
2、rm -r c1:删除单个名为c1的目录
3、rm -r b1 d1:批量删除名为b1 d1的目录
4、rm -ri text2.txt:交互式删除名为text2.txt的文件(查找和删除是需要手动确认)
5、rm -r * .txt a*:删除所有以txt结尾、以a开头的文件
8、cp
说明:1、复制文件或目录(同时实现拷贝+粘贴)
2、实现文件或目录的重命名
选项:1、-r:递归复制,复制目录中的所有文件及目录
2、-i:如果目的地路径下有相同名称的文件或目录,会交互提示
例:
1、cp test1.txt less03:将test1.txt拷贝到less03中
2、cp -i test1.txt less03:交互式操作
3、cp -r adir1 adir2 less03:将adir1 adir2批量拷贝到less03中
4、cp text.txt less03/text01.txt :test1.txt拷贝到less03中并重命名为test01.txt
5、cp text1.txt text02.txt:把文件test1.txt重命名为test02.txt
9、mv
说明:1、移动文件或目录(相当于剪切+粘贴)
2、重命名文件或目录
执行者:所有用户
例:
1、mv aa.txt ../b:将aa.txt文件移动到../b目录下
2、mv aa.txt bb.txt:将同一路径下的aa.txt重命名为bb.txt
3、mv aa.txt ..b/bb.txt:将aa.txt文件移动到..b/目录下并重命名为bb.txt
文件操作
1、cat(只读效果)
说明:查看文件内容
执行者:所有用户
选项:-n:显示行号
例:
1、cat /proc/cpuinfo 查看文件cpuinfo中的内容 2、cat -n /proc/cpuinfo 查看文件cpuinfo中的内容并显示前面的行号
2、more(只读效果)
说明:分页查看内容(只能往上翻,不能往下翻)
执行者:所有用户
操作:1、空格键:向下翻一页
2、回车键:向下翻一行
3、Q/q:退出
例:
more /proc/cpuinfo 分页查看文件cpuinfo中的内容
3、less(只读效果)
说明:分页查看文件内容
执行者:所有用户
选项:-M:显示当前行的范围
操作:1、空格键:向下翻一页
2、B/b:向上翻一页
3、方向上下键:向上向下翻一行
4、Q/q:退出
例:
less /proc/cpuinfo 分页查看cpuinfo中的内容
4、head
说明:查看文件的头部内容(默认10行)
执行者:所有用户
选项:-n:从头开始显示n行内容(识别换行符)
例:
head -n5/proc/cpuinfo(等价于head -5/proc/cpuinfo)
5、tail
说明:和head相反,从文件尾部开始查看内容,默认10行。所有操作和head一样
6、grep
说明:搜索文件内容,在文件中查找指定的字符序列(字符串)
执行者:所有用户
选项:1、-n:显示行号
2、-c:统计搜索到的行的数量(和-n不能混合使用,两者冲突)
3、-i:忽略大小写搜索,主要针对英文
例:
1、grep -ni apicid /proc/cpuinfo(等同于grep -ni `apicid` /proc/cpuinfo) 搜索字符串apicid出现的行号 2、grep -c `apicid` /proc/cpuinfo 统计搜索出了几行
特殊匹配:
1、^:行首匹配:匹配以什么开头的
例:
grep -n `^cp` /proc/cpuinfo 在文件cpuinfo匹配以cp开头的字符序列
2、$:行尾匹配:匹配以什么结尾的
例:
grep -n `[0-9]$` /proc/cpuinfo 在文件couinfo中匹配以0-9的任意单个数字结尾的序列
7、find
说明:查找文件或目录(递归查找),从磁盘找,精确性高,性能低
执行者:所有用户
选项:
1、-name:按名称查找
2、-iname:对英文名称忽略大小写查找
3、-size:按文件大小搜索,默认1个单位(1各单位=512字节)
4、-type:按文件类型查找
例:
1、find ./ -iname test.c 在当前路径下包括其子目录中查找名为test.c的文件,文件名忽略大小写 2、find ./ -size +3M 在当前路径下包括其子目录中查找文件大小超过3M的文件(+表示超过,-表示不超过) 2、find ./ -size +3 在当前路径下包括其子目录中查找文件大小超过3个单位的文件(+表示超过,-表示不超过)
8、locate
说明:1、快速查找文件或目录,从数据库查找,准确性低,性能高
2、该指令是从文件的数据库中查找,新创建的文件还没在数据库中建立索引,用该指令找不到
选项:1、-c:统计文件个数,返回的是一个数字
2、-i:忽略大小写
例:
locate -i text.c
注意:默认情况下updatedb每天更新一次,但可以手动更新(用sudo updatedb指令)
9、which
说明:快速检索指令的位置
例:
which ls
10、echo
说明:将指定字符串输出到设备上
执行者:所有用户
例:
1、echo “hzh is good!” > hzh.txt 覆盖式写入,新数据覆盖旧数据 2、1、echo “zdp is good!” >> hzh.txt 追加写入,保留旧数据,加入新数据
11、|()管道
说明:将前一个指令执行的结果作为后一个指令执行的条件
执行者:所有用户
例:
ls -l | grep ".txt$" 以详细列表的形式显示所有以.txt结尾的文件 find /dev -type c | grep "2$" 查找dev文件下类型为c的以2结尾的文件