程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

Linux命令详解之一基础指令

balukai 2025-02-14 22:14:52 文章精选 8 ℃


指令与参数的概念

在linux 终端【命令行】 中输入的内容就称之为指令

Linux 通用的语法格式:

#指令 [选项][操作对象]

一个指令可以包含多个选项、多个操作对象

在实际生活中例如:做饭你可以炒一盘菜也可以煲汤,具体就炒一个青椒肉丝,冬瓜排骨汤。 在这里指令就是“做饭”,“菜”和“汤”是对象,具体抄“青椒肉丝”和“冬瓜排骨汤” 表示的是选项

ls指令

命令:#ls 【list:列表】

作用:列出当前工作目录下的所有文件/文件夹的名称

命令:#ls 路径(操作对象)

作用:列出指定路径下的所有文件/文件夹的名称

注意蓝色的表示文件夹,黑色表示文件,绿色的其权限为所有权限

关于路径:路径可分为相对路径和绝对路径

相对路径:一般就是命令当前的工作路径

绝对路径:直接从根路径“/”开始寻找对应的路径

相对路径的写法:一般会用到“./”【表示当前目录下】和“../”【上一级目录下】

命令:# ls 选项 路径

作用:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。

常见的选项有:

#ls -l 路径

#ls -la 路径

#ls -lh 路径

选项解释:

-l:表示list,表示以详细列表的形式进行展示

-a:表示显示所有文件/文件夹(包含了隐藏文件/文件夹)

drwxr-xr-x. 17 root root 4096 Nov 21 20:36 onpremise

第一列字符表示的是文档类型,其中“d”表示为文件夹,“-”表示为文件

“17”为文档个数,第一个“root”为所属用户组,第二个“root”为所属用户,“4096” 为文件大小


-lh:表示以可读性较高的形式显示所有文件/文件夹


在linux 中隐藏的文档一般都是以“.”开头

pwd

命令:#pwd 【print woking directory】

作用:打印当前工作目录路径

cd

命令:#cd 【change directory】

作用:用于切换当前的工作目录

用法:#cd 路径

使用相对路径和绝对路径进行切换即可,“~”表示切换到当前用的家目录

mkdir

命令:#mkdir

作用:创建目录【文件夹】

用法:#mkdir 路径 【路径也可以是目录名称】

mkdir ~/test #在用户家目录下创建一个文件夹名叫test
mkdir test#在用户当前操作目录下创建一个文件夹test

命令:# mkdir -p

作用:一次性创建多层目录需要增加 -p 参数否则程序会报错“目录不存在”

用法:#mkdir -p 路径


命令:# mkdir 路径 路径 路径...

作用:一次性创建多个目录

touch 指令

命令:touch

作用:创建文件

用法:#touch 文件路径【路径也可以直接是文件名】

可以一次创建一个文件,也可以一次创建多个文件


cp 指令

命令:cp 【copy 复制】

作用:复制文件/文件夹到指定目录

语法:#cp 被复制的文档路径 文档被复制到的路径

复制的过程中可以重新对新位置的文件进行重命名,但是如果不是必须建议保持前后名称一致


命令:cp -r

作用:复制一个文件夹

语法:#cp -r 被复制的文档路径 文档被复制到的路径

如果直接使用cp命令复制会忽略文件复制

mv指令

命令:mv 【move,移动,剪切】

作用:移动文档到新的位置

语法:#mv 需要移动的文档路径 需要保存的位置路径

移动一个文件

[root@localhost ~]# mv test/linux.txt ~/
[root@localhost ~]# ls
anaconda-ks.cfg  linux.txt  onpremise  test
[root@localhost ~]# 

移动一个文件夹

[root@localhost ~]# ls test/
a  b  rename.txt
[root@localhost ~]# mv test/a ~/
[root@localhost ~]# ls
a  anaconda-ks.cfg  linux.txt  onpremise  test
[root@localhost ~]# 

重新命名同cp命令一样

rm 指令

命令:rm 【remove 移除,删除】

作用:移除/删除文档

语法:#rm 选项 需要移除的文档路径

选项:

-f: [force 强制],在删除文件的时候不想频繁的询问确认,可以使用该参数直接删除

-r: 表示递归

-rf: 递归删除并且不需要询问确认

[root@localhost test]# ls
b  linux1.txt  linux2.txt  linux.txt  rename.txt
[root@localhost test]# rm b
rm: cannot remove ‘b’: Is a directory
[root@localhost test]# rm -r b
rm: remove directory ‘b’? y
[root@localhost test]# rm rename.txt 
rm: remove regular empty file ‘rename.txt’? n
[root@localhost test]# rm -f rename.txt 
[root@localhost test]# ls
linux1.txt  linux2.txt  linux.txt
[root@localhost test]# rm -rf linux*
[root@localhost test]# ls
[root@localhost test]# 

注意:linux* 在这里“*”是通配符的意思

vi 指令

命令:vi

语法:#vi 文件的路径

作用:打开一个文件【文件如果存在则直接打开,文件如果不存在在保存文档的时候会自动创建】

打开文件后按“i”键进入编辑模式,退出使用shift+: 进入命令行模式,输入“q”然后按回车键退出,

“q!” 不保存强制退出,“wq!”强制保存退出,“w” 保存但不退出

输出重定向

一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存起来后续对日志进行分析,这个时候就要用到输出重定向

命令:>

作用:覆盖输出,会覆盖原先的文件内容

命令:>>

作用:追加输出,不会覆盖原始内容,会在与那时内容的末尾增加

语法:#正常的操作指令>/>>

[root@localhost ~]# ls -al ~/ > test/linux.txt 
[root@localhost ~]# cat test/linux.txt 
total 40
dr-xr-x---.  7 root root  241 Dec 13 04:23 .
dr-xr-xr-x. 17 root root  224 Sep 14 06:52 ..
drwxr-xr-x.  3 root root   15 Dec 13 02:59 a
-rw-------.  1 root root 1272 Sep 14 06:53 anaconda-ks.cfg
drwx------.  3 root root   17 Nov 15 03:26 .ansible
-rw-------.  1 root root 6508 Nov 24 02:49 .bash_history
-rw-r--r--.  1 root root   18 Dec 28  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 28  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 28  2013 .bashrc
-rw-r--r--.  1 root root  100 Dec 28  2013 .cshrc
-rw-r--r--.  1 root root    0 Dec 13 04:07 linux.txt
drwxr-xr-x. 17 root root 4096 Nov 21 20:36 onpremise
drwxr-----.  3 root root   19 Nov 19 00:17 .pki
-rw-------.  1 root root    7 Nov 19 01:11 .python_history
-rw-r--r--.  1 root root  129 Dec 28  2013 .tcshrc
drwxr-xr-x.  2 root root   23 Dec 13 04:47 test
[root@localhost ~]# 

cat 指令

命令:cat

作用:查看文件内容

语法1: cat 文件路径

语法2:cat 文件路径 文件路径 > 文件内容 【结合输出重定向】

作用2:合并文件内容

[root@localhost ~]# cat linux.txt linux1.txt linux3.txt 
1111111
2222222
333333
[root@localhost ~]# cat linux.txt linux1.txt linux3.txt > all.txt
[root@localhost ~]# cat all.txt 
1111111
2222222
333333
[root@localhost ~]#
最近发表
标签列表