2 Linux 基础命令

2023-11-27 14:41:27 浏览数 (1)

本文将简单总结常用于导航和管理 Linux 文件和目录的一些基础命令。

ls 命令

ls命令用于列出当前目录中可用的子目录和文件。

语法:

代码语言:javascript复制
ls [可选标志] [参数]

下面我们列出常用的 ls操作:

  • ls -l:这个命令以列表格式列出文件和目录,提供额外信息,例如权限、所有者、大小和修改日期。
代码语言:javascript复制
[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:这个命令也是列出所有文件和目录,包括以 . 开头的隐藏文件和目录。
代码语言:javascript复制
[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:连个标志结合使用,以列表的形式输出所有文件和目录,包括以 . 开头的隐藏文件和目录。
代码语言:javascript复制
[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扩展名的文件,当想要过滤特定文件时非常有用。
代码语言:javascript复制
[root@localhost ~]# ls *.sh
hi.sh
  • ls -i:列出文件和目录及其各自的索引号(索引节点)。
代码语言:javascript复制
[root@localhost ~]# ls -i
33581123 anaconda-ks.cfg  34617145 conf    844399 data  53089813 logs
  • ls -d */:此命令仅列出目录,允许查看目录结构而不查看文件。
代码语言:javascript复制
[root@localhost ~]# ls -d */
conf/  data/  logs/

pwd 命令

pwd命令用于打印当前工作目录,显示当前所在目录的绝对路径。

代码语言:javascript复制
[root@localhost ~]# pwd
/root

cd 命令

cd 路径/目录名称:这个命令将当前目录更改为提交的路径。例如:cd home/user/documents将切换到 documents目录。

  • cd ~cd:使用 cd ~或不带任何参数的 cd, 将会切换到主目录。
代码语言:javascript复制
[root@localhost ~]# cd data/
[root@localhost data]# cd ~
[root@localhost ~]# cd data/
[root@localhost data]# cd
[root@localhost ~]#
  • cd -:返回上次所在的工作目录。
代码语言:javascript复制
[root@localhost ~]# cd data/
[root@localhost data]# cd
[root@localhost ~]# cd -
/root/data
  • cd ..:返回当前所在目录的上一级目录。
代码语言:javascript复制
[root@localhost ~]# cd -
/root/data
[root@localhost data]# cd ..
[root@localhost ~]#
  • cd ../..:返回当前所在目录上一级目录的上一届目录,相当于移动两次。
代码语言:javascript复制
[root@localhost data]# cd ../..
[root@localhost /]#

mkdir 命令

mkdir 目录名称mkdir命令用于在特定位置创建目录。如下例子:

代码语言:javascript复制
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 上文件的访问权限。它允许修改文件的所有者、组和其他人的读、写和执行的权限。

代码语言:javascript复制
chmod [选项] 文件名

可以使用 chmod命令指定不同的选项来设置特定权限。一些常见的选项包括:

  • u(user/owner):更改用户/所有者(user/owner)的权限。
  • g(group):更改与文件关联的组的权限。
  • o(other):更改既不是所有者也不是组中的用户的权限。
  • (add):添加指定的权限
  • -(remove):删除指定的权限
  • =(assign):分配指定的权限

举例:要授予所有者对文件的读写权限,可以使用:

代码语言:javascript复制
chmod u rw 文件名

history 命令

要检查之前在终端会话中运行过的命令,可以使用 history 命令。只需在终端中输入 history,它将显示命令列表及其各自的行号。

代码语言:javascript复制
[root@localhost ~]# history
    1  hahha
    2  ls
    3  cls
    4  clear
    5  yum install git
    6  git

当需要调用并重复使用以前执行过的命令时,此命令特别有用。

删除目录/文件夹

要删除 Linux 上的目录,可以使用 rmdir命令,后跟目录名称

代码语言:javascript复制
rmdir 目录名称

不过请注意,rmdir 命令只能用于删除空目录。如果要删除非空目录,应使用带有 -r 选项(代表递归)的 rm 命令。rmdirrm之间的主要区别是:

  • rmdir只能删除空目录,而rm -r可以删除空目录和非空目录。
  • rmdir是一个更安全的选项,因为它可以防止意外删除非空目录。
  • rm -r功能更强大,但应谨慎使用,以避免意外的数据丢失。

touch 命令

要在 Linux 上创建新文件,可以使用 touch命令,后面跟着所需的文件名,例如:

代码语言:javascript复制
[root@localhost test]# touch readme.md
[root@localhost test]# ls
readme.md  test.txt

该命令将创建一个具有指定名称的空文件。要查看文件的内容,可以使用上文说过的的 cat 命令。

添加文件内容

要将内容添加到文件中,可以使用文本编辑器,例如 vinano 。但是,如果想从命令行追加内容,可以使用 echo命令并将输出重定向到文件。

例如,我们创建一个 fruits.txt文件,将以下水果添加文件中,每行一个水果(Apple,Mango,Banana,Cherry,Orange)。

代码语言:javascript复制
[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命令我们来解释一下:

  • echoecho 命令用于在终端上显示文本或变量。
  • -e:此选项启用反斜杠转义的解释。它允许我们在输出中包含特殊字符,例如换行符 ( n )。
  • "ApplenMangonBanananCherrynOrange":表示将双引号内内容添加到 fruits.txt 文件中。每个水果名称均由换行符 ( n ) 分隔,确保每个水果出现在文件中的新行上。
  • >:此符号是一个重定向运算符,它将 echo 命令的输出定向到文件。
  • fruits.txt:保存内容的文件

head 命令

要显示文件中的前三项,可以使用 head命令。默认情况下,它显示文件的前十行,但可以使用 -n选项指定行数。

代码语言:javascript复制
[root@localhost test]# head -n 3 fruits.txt
Apple
Mango
Banana

当想要快速预览大文件的内容,head命令特别有用。

tail 命令

要显示文件中的最后三项,可以使用 tail命令。与 head类似,tail命令默认也会显示文件的最后十行,可以使用 -n选项指定要显示的行数。

代码语言:javascript复制
[root@localhost test]# tail -n 3 fruits.txt
Banana
Cherry
Orange

tail命令通常可用于监视日志文件或跟踪文件的实时变化。

diff 命令

要查找两个文件之间的差异,可以使用diff命令后跟文件名。例如:

代码语言:javascript复制
[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 中常用的基础命令,希望对你所有帮助。

0 人点赞