图绘Linux:基础指令脉络阁
目录
Linux命令行介绍
目录操作
ls 目录所含文件信息
ls 常用选项
pwd 在那个目录下
cd 进入目录
mkdir 创建目录
文件操作
touch 创建普通文件
echo向文件写入
cat 输出文件内容
cp 拷贝文件/目录
mv剪切+重命名
rm 删除文件/目录
查找
* 匹配符
man 查找指令
which查指令
whereis查指令
find查文件
浏览文件
more浏览大文本
less浏览大文本
head读取文件头
less读取文件尾
head和tail通常与管道一起使用
grep行文本过滤器
打包和压缩
zip和unzip
tar指令
Linux系统指令
whoami显示用户名
umame获取操作系统相关信息
alias对指令改名
history历史命令列表
Linux系统热键
ctrl+c中止程序
ctrl+r查历史指令
Tab自动补全
ctrl+d关闭shell
Linux命令行介绍
Linux命令行包含四个部分:用户名,主机名,当前所在目录,命令行提示符;
关于命令行提示符:root账号和普通账号是不一样的,root是#,而普通用户是$;
目录操作
Linux下一切皆文件,每个文件包含两个信息:文件属性+文件内容
ls 目录所含文件信息
ls+[选项]+目录:显示目录所包含的文件,当不加目录默认显示当前目录信息。
当我们第一次以普通用户进行云服务器的时候,使用ls好像没有任何反应,因为当前目录下没有文件所以没有任何显示。通过mkdir+目录名实现对目录的创建。
ls 常用选项
ls有多种不同的选项,对于选项可以叠加使用。
-l : 显示文件详细信息:显示更多的文件属性(文件的拥有者,所属组,大小,文件最近更新时间....);
ls -l 可以简写为ll 。
-a: 显示隐藏文件,与windows一样Linux下也包含隐藏文件 ;Linux的隐藏文件是以 .开头的文件。
在隐藏文件中含有两个特殊的文件 .文件 和 .. 文件;其中. 文件就指的是当前文件,而.. 文件指的是上一级文件。 通过 .文件可以帮助用户执行当前目录下的文件,通过 ..文件可以帮助用户访问上一级文件。
-d: 显示指定目录的文件信息,而不是文件内容,通常搭配-l进行使用------->显示指定文件属性。
pwd 在那个目录下
pwd: 用于显示当前所处的目录名称。
Linux使用 / 作为分隔符,Windows使用 \ 作为分隔符;
cd 进入目录
cd + 目录名称:表示进入目录,该目录名称可以是绝对路径也可以是相对路径。
绝对路径:cd /home/bit/test.c ,绝对路径服从家目录或根目录开始定位
相对路径:cd ../bin,从lib进入bin ,相对路径是从当前所在路径下开始定位的。
cd .. 进入上一级路径
cd ~ 进入家目录
cd - 回到上次所处的目录下
mkdir 创建目录
mkdir + 目录名称:对目录进行创建
目录是树状结构的,Linux下有一个软件,可以将目录结构进行可视化,通过下面指令就可以实现对tree软件的安装,关于yum安装在后面有详细介绍。
yum install -y tree
通过tree+文件就可以实现目录结构的可视化了。
在Linux下支持对目录进行递归创建,即直接创建a1/a2/a3/a4/a5这一串一层层的目录。
mkdir -p + 一串路径:递归创建目录
文件操作
touch 创建普通文件
mkdir是创建目录的,touch是创建普通文件的,比如.c,.cpp文件等等......
touch + 文件名:创建普通文件。
echo向文件写入
echo+ 字符串 :将字符串输出到显示器(Linux下一切皆文件,显示器也被看作是文件)上;
Linux中存在 > 输入重定向,可以将echo输出的内容重定向到其他文件中去。
echo +字符串 > 文件:实现字符串输出重定向。
>输出重定向会将文本中的原有数据清空再进行写入
Linux下又存在追加重定向>>,可以在原文件后面进行追加,不会清空原来文件的内容。
echo + 字符串 >> 文件:实现在文本中追加字符串。
cat 输出文件内容
cat+ 文件:可以实现将文件内容输出到显示器上。
cat -n:输出文件内容并编号
cat -b:输出文件内容,对非空行进行编号;
cat -s:对多个连续空行只输出一行空行;
cp 拷贝文件/目录
Linux也可以向Windows一样进行拷贝操作。
cp + 源文件/目录 + 目标文件/目录:对文件进行拷贝。
在进行拷贝的是否又是目标文件不存在,操作系统会进行询问是否要进行拷贝,可以使用-f选项进行强制拷贝。
cp + -f 源文件/目录 + 目标文件/目录:进行强制拷贝
如果在拷贝前希望操作系统进行询问是否要拷贝,可以使用-i 选项;
cp + -i 源文件/目录 + 目标文件/目录:拷贝前进行询问
cp是不能直接对目录进行拷贝的,需要使用-r 选项进行递归拷贝,进而实现拷贝目录;
cp + -r 目录 + 目标目录:拷贝目录文件。
mv剪切+重命名
Linux也有自己的剪切指令。
mv + 文件 +目录:将文件剪切到其他目录下;
mv + 文件名 +新文件名:对文件进行重命名;
mv + 文件 +路径/文件名:实现文件的剪切+重命名。
rm 删除文件/目录
rm+文件:实现对文件的删除
1) 使用普通用户进行删除
2) 使用root进行删除
以上两个用户在进行文件删除的时候,对于root用户来说操作系统会询问是否确定要惊喜删除,如果不希望操作系统进行询问,可以使用-f 选项;
rm -f +文件:对文件进行强制删除
rm -r +目录:进行目录删除
普通用户默认删除时不会进行询问,但是如果希望操作系统在进行删除之前询问,可以使用-i选项;
rm -i +文件:在删除文件之前进行询问;
查找
* 匹配符
当一个目录中存在大量文件时,进行查找就比较费力,使用*匹配符可以实现对文件的筛选。
ls *.c :显示所有.c为结尾的文件,
ls test* :显示所有以test开头的文件
man 查找指令
Linux下有man手册允许用户进行命令,系统调用,库函数的查找。
man +选项:进行查找,eg:man ls进行指令/库函数的查找
man手册默认时英文的,可以通过一下指令安装中文man手册,关于man手册的汉化,可以问下AI,操作也不难。
在man手册中有多个不同的区段存储不同类型的信息,man在查找时默认时从区段1一直向后找,找到后停止;通过对man手册增添选项可以实现在指定区段中查找。
man -num + 指令:在指定区段中查找
在Linux下,printf即使Linux的一条基本的指令,又是C语言的一个成员函数,所以直接使用man printf在区段1中找到printf指令就停止了,不会找3中的C语言函数,所以此处指定区段进行查找。
在Linux中如果一个语句在不同的区段中都存在就可以使用-a选项让其查找到后继续向后查找;
man -a +语句:实现在多个区段中的查找。
Linux下也是支持联网查找的;
man -k + 语句:进行联网查找。
which查指令
在Linux中每一条指令实际上都是一条条可执行程序,那么对于每个程序必定需要位置进行存放,which指令就可以对每条指令所在位置进行查找。
which+ 指令:在指定路径下/usr/bin,查找指令所在位置;
whereis查指令
whereis也是在特定路径下进行查找的,与which相比,whereis不仅会找到指令所在的文件,还会找到该指令的安装包以及头文件。
whereis+ 指令:查找指令文件,安装包,头文件位置;
find查文件
find用于查找文件,其是在磁盘中进行查找的。
find + 指定路径 + -name +要查找的文件:进行文件查找;
浏览文件
cat能够直接将文本的所有内容都打印到显示器上,但是当一个文本很大有一万多行的时候,直接将其打印出来往上翻是很麻烦的,所以我们需要更多浏览文件的方法来实现对文本的定位。
more浏览大文本
more + -行 +文件:可以实现从直接定位到改行,使用enter可以继续往下翻,但是不能往上翻;
less浏览大文本
less与more不同,less+文件可以进行浏览文件,less还支持文件查找,能够向上,向下翻找。
一般更多的使用less,而不会使用more;
head读取文件头
head -数字 文件:读取文件的前几行,没给具体数字默认是10行;
less读取文件尾
less -数字 文件:读取文件的尾几行;
head和tail通常与管道一起使用
在Linux下支持指令依次进行:比如head -1020 test | tail -20;表示先处理test文件的前1020行输出给管道 | 的另一边,在进行指令tail -20,这样就是实现了打印第1000-1020这段区间的内容。
grep行文本过滤器
grep + 过滤关键字 + 文件:仅打印包含关键字的行;
-v选项可以打印不包含关键字的内容;
grep -v + 过滤关键字 + 文件:打印不包含关键字的行;
grep -n + 过滤关键字 + 文件:打印时,带上原文件对应的行号;
grep -i + 过滤关键字 + 文件:过滤时,部分大小写;
grep后面可以跟多个文件,通过-r选项也可以实现在目录所含文件中查找;
grep -r +目录:在目录所含文件中进行查找。
打包和压缩
Linxu下也可以对文件进行打包和压缩
zip和unzip
zip + 打包后名称 + 文件:实现对普通文件进行压缩;
zip -r + 打包后名称 + 目录:实现对目录进行压缩;
unzip + 压缩包 -d +目录:将文件解压到指定目录;
tar指令
Linux下打包压缩的方式有很多种,此处再介绍一种tar;
tar -czf + 打包后名称 + 目录/普通文件:实现对文件进行压缩;
tar -xzf + 压缩包 -C + 目录:解压到指定目录;
Linux系统指令
whoami显示用户名
显示当前用户;
umame获取操作系统相关信息
uname指令:获取电脑名;
uname -a:-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称;
uname -r:仅输出内核版本号,体系结构;
alias对指令改名
对指令进行重命名;但是没有写入配置文件中是临时的。
alias 名称 = '指令':对指令改名。
history历史命令列表
history显示历史命令列表,默认Linux记录最新的1000条命令。
Linux系统热键
ctrl+c中止程序
用于终止因为程序或指令异常(eg:死循环),导致无法进行指令输出的情况。
ctrl+r查历史指令
ctrl+r后输入指令的一部分,就可以看到之前输入的相关命令。
Tab自动补全
Tab可以对指令进行自动补全,连按两次Tab可以显示所有相关指令;
输入指令的一部分就可以实现自动不全;
ctrl+d关闭shell
ctrl+d关闭shell。