本文将简单总结常用于导航和管理 Linux 文件和目录的一些基础命令。
ls 命令
ls
命令用于列出当前目录中可用的子目录和文件。
语法:
代码语言:javascript复制ls [可选标志] [参数]
下面我们列出常用的 ls
操作:
ls -l
:这个命令以列表格式列出文件和目录,提供额外信息,例如权限、所有者、大小和修改日期。
[root@localhost ~]# ls -l
total 8
-rw-------. 1 root root 1473 Oct 22 07:04 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Oct 22 11:56 conf
drwxr-xr-x. 5 polkitd root 4096 Oct 22 13:37 data
drwxr-xr-x. 2 root root 6 Oct 22 11:56 logs
ls -a
:这个命令也是列出所有文件和目录,包括以.
开头的隐藏文件和目录。
[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc conf .cshrc .gitconfig .npm .tcshrc
.. .bash_history .bash_profile .cache .config data logs .pki
ls -al
:连个标志结合使用,以列表的形式输出所有文件和目录,包括以.
开头的隐藏文件和目录。
[root@localhost ~]# ls -al
total 44
dr-xr-x---. 9 root root 242 Nov 4 10:53 .
dr-xr-xr-x. 17 root root 224 Oct 22 07:03 ..
-rw-------. 1 root root 1473 Oct 22 07:04 anaconda-ks.cfg
-rw-------. 1 root root 11440 Nov 21 07:52 .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
drwxr-xr-x. 3 root root 18 Oct 22 07:10 .cache
drwxr-xr-x. 2 root root 6 Oct 22 11:56 conf
drwxr-xr-x. 3 root root 18 Oct 22 07:10 .config
-rw-r--r--. 1 root root 100 Dec 28 2013 .cshrc
drwxr-xr-x. 5 polkitd root 4096 Oct 22 13:37 data
-rw-r--r--. 1 root root 49 Oct 22 07:31 .gitconfig
drwxr-xr-x. 2 root root 6 Oct 22 11:56 logs
drwxr-xr-x. 3 root root 19 Oct 23 09:13 .npm
drwxr-----. 3 root root 19 Oct 22 07:47 .pki
-rw-r--r--. 1 root root 129 Dec 28 2013 .tcshrc
ls *.sh
:这个命令将列出具有.sh
扩展名的文件,当想要过滤特定文件时非常有用。
[root@localhost ~]# ls *.sh
hi.sh
ls -i
:列出文件和目录及其各自的索引号(索引节点)。
[root@localhost ~]# ls -i
33581123 anaconda-ks.cfg 34617145 conf 844399 data 53089813 logs
ls -d */
:此命令仅列出目录,允许查看目录结构而不查看文件。
[root@localhost ~]# ls -d */
conf/ data/ logs/
pwd 命令
pwd
命令用于打印当前工作目录,显示当前所在目录的绝对路径。
[root@localhost ~]# pwd
/root
cd 命令
cd 路径/目录名称
:这个命令将当前目录更改为提交的路径。例如:cd home/user/documents
将切换到 documents
目录。
cd ~
或cd
:使用cd ~
或不带任何参数的cd
, 将会切换到主目录。
[root@localhost ~]# cd data/
[root@localhost data]# cd ~
[root@localhost ~]# cd data/
[root@localhost data]# cd
[root@localhost ~]#
cd -
:返回上次所在的工作目录。
[root@localhost ~]# cd data/
[root@localhost data]# cd
[root@localhost ~]# cd -
/root/data
cd ..
:返回当前所在目录的上一级目录。
[root@localhost ~]# cd -
/root/data
[root@localhost data]# cd ..
[root@localhost ~]#
cd ../..
:返回当前所在目录上一级目录的上一届目录,相当于移动两次。
[root@localhost data]# cd ../..
[root@localhost /]#
mkdir 命令
mkdir 目录名称
:mkdir
命令用于在特定位置创建目录。如下例子:
mkdir newFolder # 当前目录创建一个名为 'newFolder' 的目录
mkdir .NewFoler # 创建一个隐藏目录(以 . 为前缀的目录)
mkdir A B C D # 同时创建 A B C D 四个目录
mkdir /home/user/MyFolder # 在指定路径下创建目录
mkdir -p A/B/C/D # 创建多层级目录
cat 命令
要查看文件的内容,可以使用 cat 命令后跟文件名。例如:
代码语言:javascript复制[root@localhost ~]# cat test/test.txt
Hi,I'm a good man.
这将在终端上显示文件的全部内容。这是快速检查文件内容的简单有效的方法。
chmod 命令
chmod
命令用于更改 Linux 上文件的访问权限。它允许修改文件的所有者、组和其他人的读、写和执行的权限。
chmod [选项] 文件名
可以使用 chmod
命令指定不同的选项来设置特定权限。一些常见的选项包括:
u
(user/owner):更改用户/所有者(user/owner)的权限。g
(group):更改与文件关联的组的权限。o
(other):更改既不是所有者也不是组中的用户的权限。-
(remove):删除指定的权限=
(assign):分配指定的权限
举例:要授予所有者对文件的读写权限,可以使用:
代码语言:javascript复制chmod u rw 文件名
history 命令
要检查之前在终端会话中运行过的命令,可以使用 history
命令。只需在终端中输入 history
,它将显示命令列表及其各自的行号。
[root@localhost ~]# history
1 hahha
2 ls
3 cls
4 clear
5 yum install git
6 git
当需要调用并重复使用以前执行过的命令时,此命令特别有用。
删除目录/文件夹
要删除 Linux 上的目录,可以使用 rmdir
命令,后跟目录名称
rmdir 目录名称
不过请注意,rmdir
命令只能用于删除空目录。如果要删除非空目录,应使用带有 -r
选项(代表递归)的 rm
命令。rmdir
和 rm
之间的主要区别是:
rmdir
只能删除空目录,而rm -r
可以删除空目录和非空目录。rmdir
是一个更安全的选项,因为它可以防止意外删除非空目录。rm -r
功能更强大,但应谨慎使用,以避免意外的数据丢失。
touch 命令
要在 Linux 上创建新文件,可以使用 touch
命令,后面跟着所需的文件名,例如:
[root@localhost test]# touch readme.md
[root@localhost test]# ls
readme.md test.txt
该命令将创建一个具有指定名称的空文件。要查看文件的内容,可以使用上文说过的的 cat
命令。
添加文件内容
要将内容添加到文件中,可以使用文本编辑器,例如 vi
或 nano
。但是,如果想从命令行追加内容,可以使用 echo
命令并将输出重定向到文件。
例如,我们创建一个 fruits.txt
文件,将以下水果添加文件中,每行一个水果(Apple,Mango,Banana,Cherry,Orange)。
[root@localhost test]# touch fruits.txt
可以使用以下命令:
代码语言:javascript复制[root@localhost test]# echo -e "ApplenMangonBanananCherrynOrange" > fruits.txt
[root@localhost test]# cat fruits.txt
Apple
Mango
Banana
Cherry
Orange
上面 echo
命令我们来解释一下:
echo
:echo
命令用于在终端上显示文本或变量。-e
:此选项启用反斜杠转义的解释。它允许我们在输出中包含特殊字符,例如换行符 (n
)。"ApplenMangonBanananCherrynOrange"
:表示将双引号内内容添加到 fruits.txt 文件中。每个水果名称均由换行符 (n
) 分隔,确保每个水果出现在文件中的新行上。>
:此符号是一个重定向运算符,它将echo
命令的输出定向到文件。fruits.txt
:保存内容的文件
head 命令
要显示文件中的前三项,可以使用 head
命令。默认情况下,它显示文件的前十行,但可以使用 -n
选项指定行数。
[root@localhost test]# head -n 3 fruits.txt
Apple
Mango
Banana
当想要快速预览大文件的内容,head
命令特别有用。
tail 命令
要显示文件中的最后三项,可以使用 tail
命令。与 head
类似,tail
命令默认也会显示文件的最后十行,可以使用 -n
选项指定要显示的行数。
[root@localhost test]# tail -n 3 fruits.txt
Banana
Cherry
Orange
tail
命令通常可用于监视日志文件或跟踪文件的实时变化。
diff 命令
要查找两个文件之间的差异,可以使用diff
命令后跟文件名。例如:
[root@localhost test]# touch color.txt
[root@localhost test]# echo -e "ReanOrangenBlue" > color.txt
[root@localhost test]# diff fruits.txt color.txt
1,4c1
< Apple
< Mango
< Banana
< Cherry
---
> Rea
5a3
> Blue
diff
命令将显示两个文件之间不同的行,突出显示所做的任何更改。
以上就是一些 Linux 中常用的基础命令,希望对你所有帮助。