signed

QiShunwang

“诚信为本、客户至上”

Linux基础命令

2021/1/28 12:24:34   来源:

扩展知识:
1.操作系统主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口以便于使用,作为中间人,连接软件和硬件。
2.不同应用领域的主流操作系统
①桌面操作系统
Windows系列,用户群体大;
macOS适合于开发人员;
Linux应用软件少;
②服务器操作系统
Linux,安全、稳定、免费、占有率高;
Windows server,付费、占有率低;
③嵌入式操作系统
Linux
④移动设备操作系统
iOS
Android,基于Linux
3.Linux操作系统的发展历程:Unix — Minix — Linux;(汗颜。。那些开发系统的小天才创造Unix是为了玩游戏,创造Minix是因为没有版权教学所以独自创建小型的Unix,而Linux经过社会不断的传播更新也愈加完善)
4.Linux内核版本分为稳定版和开发版。内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
Linux发行版通常包含了桌面环境,办公套件,媒体播放器,数据库等应用软件,常见的发行版本如下:Ubuntu,Redhat,fedora,openSUSE,Linux mint,Debian,Manjaro,Mageia,CentOS,Arch

1、cd 更改文件目录(change direction)
cd /:更改文件目录到根目录下
cd /home/admin:更改文件目录到目录admin下
cd admin:更改文件目录到根目录下的admin文件夹【如果根目录中没有admin文件夹,就会找不到文件】
cd…:更改文件目录到上一级(cd后面只有两个点,csdn编辑器文件格式特殊字符的原因显示出来的是三个点)
cd ~:回到自己的家目录【根目录是家目录的父目录】
cd -:回看

2、ls 列出文件(list)
ls:查看当前文件夹下的文件夹
ls -a:查看当前文件夹下的所有文件
ls -l:查看当前文件夹下的文件夹详细信息
ls -lh:以人性化的方式查看当前文件夹下的文件夹详细信息
ll:查看当前文件夹下的文件夹详细信息,与ls -l 等同
ll -h:以人性化的方式查看当前文件夹下的文件夹详细信息,与ls -lh等同

3、mkdir 创建新的文件夹(make direction)
mkdir A:在当前目录创建文件夹A
mkdir /home/admin/word/listening -p:如果创建了一个文件夹,但是文件夹的根目录不存在,则可以使用这个命令,在创建这个文件夹之前创建好父目录[word目录不存在,则在创建listening文件夹之前会先创建好word这个父目录]
mkdir shipin/nan nv:指在当前目录的shipin文件夹下创建了nan文件夹,在当前目录下创建了nv文件夹
mkdir shipin/nan shipin/nv:指在当前目录的shipin文件夹下创建了nan文件夹和nv文件夹
mkdir wendang/{nan,nv}:指在当前目录的wendang文件夹下创建了nan文件夹和nv文件夹

4、touch 创建新的文件
touch a.txt:在当前目录创建一个a.txt空文件
touch .a:创建隐藏文件a

5、gedit 编辑修改文件
gedit a.txt:修改文件a.txt

6、rm 删除(remove)
rm a.txt:删除文件
rm a b:删除多个文件
rm -r a:删除a目录
rm -r *:删除所有内容,但是不能删除隐藏文件
rm .a:删除隐藏文件a

7、tab键自动补全。
如果想要退出选择,并且不想执行当前选中的命令,可以按Ctrl+C

8、可读可写可执行
drwxrwxr-x中 d代表文件夹
-rwxrwxr-x中 -代表文件
rwx rwx r-x中 r可读,w可写,x执行
第一组指文件的拥有者权限,第二组代表文件拥有组权限,第三组代表其他用户的权限

通配符		含义
*			文件代表文件名中所有字符
ls te*  	查找以te开头的文件
ls *html	查找结尾为HTML的文件
?			代表文件名中任意一个字符
ls ?.c		只找第一个字符任意,后缀为.c的文件
ls a.?		只找只有3个字符,前两字符为a.,最后一个字符任意的文件
[]			"["和"]"将字符组括起来,表示可以匹配字符组中的任意一个。"-"用于表示字符范围
[abc]		匹配a,b,c中的任意一个
[a-f]		匹配从a到f范围内的任意一个字符
ls [a-f]*	找到从a到f范围内的任意一个字符开头的文件
ls a-f		查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用
\			如果要使通配符作为普通字符使用,可以在其前面加上转义字符,“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用
ls \*a		查找文件名为*a的文件

9、clear
clear:清屏

10、pwd
pwd:查看当前所在目录

11、cp 复制(copy)
cp 1.txt a:将1.txt复制到a目录下
cp 1.txt .:将1.txt复制到当前目录下,且文件名不变
cp 1 . -r:将1目录复制到当前目录下,且文件名不变
cp 1.txt 2.txt:将1.txt复制到当前目录下,且命名为2.txt
cp 1.txt 2.txt -a:将1.txt复制到当前目录下,且命名为2.txt,保留原有的链接,文件属性,并递归地复制目录,简单而言,保持文件原有属性
cp a b -r:递归复制a目录下的所有子目录和文件给b
cp 1.txt 2.txt -i:当复制文件2.txt已经存在,在覆盖目标文件之前将会给出提示要求用户确认
cp 1.txt 2.txt -v:显示拷贝进度

12、mv 移动(move)
mv 1.txt abc.txt:将1.txt文件移动到abc.txt(相当于重命名)
mv 2.txt nv/2_bak.txt:将2.txt移动到nv目录下,且命名为2_bak.txt
mv 1.txt 2.txt -i:移动文件2.txt已经存在,在覆盖目标文件之前将给出提示要求用户确认
mv 1.txt 2.txt -v:显示移动进度

13、重定向
ls >1.txt:将ls输出的内容重定向到1.txt文件中;[多次使用会被覆盖]
ls >>1.txt:将ls输出的内容重定向到1.txt文件中;[多次使用会被追加]

14、cat 显示文件内容
cat 1.txt:显示一个文件内容
cat 1.txt 2.txt:显示两个文件内容
如何将两个文件的内容集中到一个文件中展示:
cat 1.txt 2.txt > 3.txt
cat 3.txt

15、more
more 1.txt:查看比较大的文件时使用,按空格键往下翻页,按B键往回翻页,按Q键退出
ls -l / | more:列出根目录下的详细信息,并通过more的方式展示
:把左边的命令返回的结果交给右边命令进行处理;

16、软链接和硬链接
ln -s 1.txt 1_soft_link:为1.txt创建了一个名为1_soft_link的软链接
ln 1.txt 1_link:为1.txt创建了一个名为1_link的硬链接

软链接特点:
原文件发生变化,对应的链接也会发生变化;删除原文件,软链接就会显示找不到文件;若删除之后再次创建同名称的文件,软链接就能找到该文件。因此,软链接记录的只是文件名。如果创建的软链接不是在当前目录下,那么原文件就必须是绝对路径

硬链接特点:
硬链接本身占空间,相当于把原文件复制一份,与原文件同步变化,删除硬链接文件不影响原文件,不能给目录创建硬链接

17、grep 查找文件内容
grep hello test.txt:查找test.txt中,包含hello的有哪些
grep -n hello test.txt:查找test.txt中,包含hello的有哪些,并显示对应的行号
grep -i hello test.txt:查找test.txt中,包含hello的有哪些,忽略大小写
grep -in hello test.txt:查找test.txt中,包含hello的有哪些,忽略大小写,并显示对应的行号
grep -v hello test.txt:查找test.txt中,不包含hello的有哪些(反向查找)
grep -n ^h test.txt:查找test.txt中,以h开头的有哪些,并显示对应的行号
grep -n h$ test.txt:查找test.txt中,以h结尾的有哪些,并显示对应的行号
grep h. test.txt:查找test.txt中,只要h后面有字符的都会显示出来

18、find 查找文件
find . -name 2.txt:查找当前目录下的2.txt文件
find ~ -name ‘*txt’:查找家目录下的所有txt文件
find /home -name 1.txt:查找home目录下的1.txt文件

19、tar 打包,解包
tar cf txt.tar 1.txt 2.txt:将1,2两个文件打包成txt.tar文件
tar tf txt.tar:列出txt.tar包含哪些文件

-c:生成档案文件,创建打包文件;
-v:列出归档解档的详细过程,显示进度;
-f:指定档案文件名称;
-t:列出档案中包含的文件;
-x:解开档案文件;

tar xf txt.tar:解开txt.tar文件
tar xvf a.tar -C tar:将a.tar解开将里面的文件放到tar目录下,tar目录一定要存在,如果不存在就会报错

压缩
1.打包
tar cf a.tar *:生成a.tar文件
2.压缩
gzip -r a.tar:将a.tar文件压缩成a.tar.gz文件
解压
1.解压
gzip -d a.tar.gz:将a.tar.gz解压成a.tar
2.解包
tar xf a.tar -C ~/tar:将a.tar解包到指定到家目录中的tar文件夹中

一步到位压缩解压
tar czf a.tar.gz *txt:所有的文件打包压缩到a.tar.gz中
tar xzf a.tar.gz -C tar:将压缩包a.tar.gz解压解包到指定文件夹tar中

20、bzip2
tar jcf j.tar.bz2 *txt:将所有的文件压缩成j.tar.bz2
tar jxf j.tar.bz2 -C tar:将压缩包j.tar.bz2解压解包到指定文件夹tar中

21、zip和unzip
zip -r z *txt:将所有txt文件打包成压缩文件,压缩名为z.zip;(自动加扩展名zip)
unzip -d z z.zip:将压缩文件z.zip解压到z文件夹;(解压时会自动创建目录)

压缩率zip<gzip<bzip2
通用性zip>gzip>bzip2

22、which 查看命令位置
which cat:查看cat的位置
which zip:查看zip的位置
which ls:查看ls的位置

在根目录中创建文件权限不够,切换超级管理员账号root
输入su回车填写密码即可;切换普通账号admin,输入su admin回车即可。
设置用户密码:passwd
退出登录账户:exit
查看登录用户:who

23、修改文件权限:chmod(命令字母法)
chmod u-r test.txt:删除拥有者的阅读权限
chmod u+r test.txt:添加拥有者的阅读权限
chmod u+x test.txt:添加拥有者的执行权限
chmod u=rwx test.txt:添加拥有者的可读可写可执行权限
chmod u=- test.txt:没有给予拥有者任何权限
chmod u+r,g-w,o=x test.txt:添加拥有者的可读权限,撤销同组者的可写权限,赋予其他人的可执行权限
chmod a+w test.txt:赋予拥有者,同组者,其他人可写权限
chmod a=rwx test.txt:赋予拥有者,同组者,其他人可读可写可执行权限

24、修改文件权限:chmod(命令数字法)
r 读取权限,数字代号为"4";
w 写入权限,数字代号为"2";
x 执行权限,数字代号为"1";
— 不具任何权限,数字代号为"0";
chmod u=rwx,g=rx,o=r test.txt 就等同于 chmod u=7,g=5,o=4 test.txt

如果想递归所有目录加上相同权限,需要加上参数"-R"。
如:chmod 777 test/-R 递归test目录下所有文件加777权限

25、vim 1.txt回车

移动光标:(小写直接按字符,大写shift+字母)
h 左移
j 下移
k 上移
l 右移
M 光标移动到中间行
L 光标移动到屏幕最后一行
行号+G 移动到指定行
w 向后一次移动一个字(一个单词)
b 向前一次移动一个字(一个单词)
{ 按段移动,上移(有回车就是一段)
} 按段移动,下移(有回车就是一段)
Ctrl+d 向下翻半屏
Ctrl+u 向上翻半屏
Ctrl+f 向下翻一屏
Ctrl+b 向上翻一屏
gg 光标移动到文件开头
G 光标移动到文件末尾
x 删除光标后一个字符,相当于delete
X 删除光标前一个字符,相当于backspace
dd 删除光标所在行
指定的行数+dd 删除指定的行数
D 删除光标后本行所有内容,包含光标所在字符
d0 删除光标前本行所有内容,不包含光标所在字符
dw 删除光标开始位置的字,包含光标所在字符
u 一步一步撤销
Ctrl+r 反撤销
. 重复上一次操作的命令
‘>>’ 文本行右移
‘<<’ 文本行左移
yy 复制当前行
复制的行数+yy 复制n行
p 在光标所在位置向下新开辟一行,粘贴
v 按字符移动,选中文本
V 按行移动,选中文本
r 替换当前字符
R 替换当前行光标后的字符,直到按esc
/str 查找str
n 下一个
N 上一个