[Linux]基础命令(1)

简介: [Linux]基础命令(1)

1.操作系统:

(1)什么是操作系统:

操作系统是一款进行软硬件管理的软件

(2)为什么要有操作系统:

对软硬件进行合理的管理。以达到为上层用户提供良好的、稳定的、安全的运行环境的目的

2. ls命令:

语法: ls [选项] [目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息

常用选项:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k 以 k 字节的形式表示文件的大小。 ls –alk 指定文件
  • -l 列出文件的详细信息。(文件 = 内容 + 属性
  • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
  • -F 在每个文件名后附上一个字符以说明该文件的类型, “*”表示可执行的普通文件; “/”表示目录; “@”表
    示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。 (递归)
  • -1 一行只输出一个文件。

其中有一些指令可以简写:

例如:

ls -l —> ll

[root@iZ2ze8prly56kg8in4hqa2Z learn]# ll
total 4
drwxr-xr-x 2 root root 4096 Dec 11 13:16 dir

ls -l -a —> ls -al / ls -la (用于显示一些隐藏文件)

[root@iZ2ze8prly56kg8in4hqa2Z learn]# ls -al
total 12
drwxr-xr-x   3 root root 4096 Dec 11 13:16 .
dr-xr-xr-x. 19 root root 4096 Nov 23 21:43 ..
drwxr-xr-x   2 root root 4096 Dec 11 13:16 dir

其中...分别是当前路径上级路径

一般在Linux中.开头命名的文件和文件夹都会被隐藏起来;

拓展:stat命令:用于获取文件的所有属性

[root@iZ2ze8prly56kg8in4hqa2Z learn]# stat dir
  File: ‘dir’
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fd01h/64769d  Inode: 1310723     Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-12-11 13:16:45.620810854 +0800
Modify: 2022-12-11 13:16:44.161761652 +0800
Change: 2022-12-11 13:16:44.161761652 +0800
 Birth: -

这里展示了三种时间:

Access time : 最后一次 访问 (仅访问,没有改动)文件的时间

Modify time: 最后一次 文件属性改变 的时间,包括权限,大小,属性等

Change time: 最后一次修改 文件 的时间

3. pwd指令:

语法: pwd

功能:是Print Working Directory的缩写,显示用户当前所在的目录 ;

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# pwd
/learn/dir

注意:

这里的路径分隔符是/而在windows中采用的分隔符是\;

4. cd命令:

语法: cd 目录名

功能:是change directory的缩写; 改变工作目录。将当前工作目录改变到指定的目录下

linux目录的结构就是一个多叉树形式:(如下图)

常用的指令:

cd .. : 返回上级目录

cd /home/litao/linux/ : 绝对路径

cd ../day02/ : 相对路径

cd ~:进入用户家目录

cd -:返回最近访问目录

绝对路径和相对路径:

表示文件位置的最好方式就是使用 路径,因为 路径具有唯一性

绝对路径:从根目录开始,定位文件的路径,为绝对路径。(准确但麻烦,无论在哪个目录下都有效)

相对路径:由当前文件所在的路径引起的跟其它文件(或文件夹)的路径关系。(方便,在不同目录下可能会无效)

代码示例:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# cd ..
[root@iZ2ze8prly56kg8in4hqa2Z learn]# cd -
/learn/dir
[root@iZ2ze8prly56kg8in4hqa2Z dir]# cd ~
[root@iZ2ze8prly56kg8in4hqa2Z ~]# cd /
[root@iZ2ze8prly56kg8in4hqa2Z /]# cd /learn/dir/
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 11 13:16 myfail.c
-rw-r--r-- 1 root root 0 Dec 11 19:03 test.c

5. touch命令:

语法:touch [选项]… 文件…

功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

常用选项:

-a 或–time=atime或–time=access或–time=use只更改存取时间。

-c 或–no-create 不建立任何文档。

-d 使用指定的日期时间,而非现在的时间。

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或–time=mtime或–time=modify 只更改变动时间。

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间

代码演示:

(1)在当前目录创建一个文件:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# touch test.c
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 11 13:16 myfail.c
-rw-r--r-- 1 root root 0 Dec 11 19:47 test.c

(2)在相对路径下创建一个文件:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# touch ../newdir/test.c
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll ../newdir/
total 0
-rw-r--r-- 1 root root 0 Dec 11 19:50 test.c

(3)在绝对路径下创建一个文件:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# touch /learn/newdir/test2.c
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll  /learn/newdir/
total 0
-rw-r--r-- 1 root root 0 Dec 11 19:52 test2.c
-rw-r--r-- 1 root root 0 Dec 11 19:50 test.c

6. tree命令:

功能:使当前目录往后的文件夹和文件以树状结构呈现出来

这个命令需要在root用户下安装:

在root权限下输入:yum install -y tree

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
├── myfail.c
└── test.c

7. mkdir 命令:

语法: mkdir [选项] dirname…

功能:是make directory 的缩写;在当前目录下创建一个名为 “dirname”的目录

常用选项:

-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立

好那些尚不存在的目录,即一次可以建立多个目录;

代码演示:

(1)在当前路径下创建文件夹:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# mkdir newfile
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll
total 4
-rw-r--r-- 1 root root    0 Dec 11 13:16 myfail.c
drwxr-xr-x 2 root root 4096 Dec 11 20:08 newfile
-rw-r--r-- 1 root root    0 Dec 11 19:49 test.c

(2)递归创建一段路径:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# mkdir -p a/b/c/d/
[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
├── a
│   └── b
│       └── c
│           └── d
├── myfail.c
├── newfile
└── test.c

8. rmdir 和 rm 指令:

rmdir是一个与mkdir相对应的命令。 mkdir是建立目录,而rmdir是删除命令。

语法: rmdir [-p] [dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

代码演示:

删除空目录:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# cd  a/b/c/d/
[root@iZ2ze8prly56kg8in4hqa2Z d]# rmdir -p d
rmdir: failed to remove ‘d’: No such file or directory
[root@iZ2ze8prly56kg8in4hqa2Z d]# cd ..
[root@iZ2ze8prly56kg8in4hqa2Z c]# rmdir -p d

rm命令可以同时删除文件或目录

语法: rm [-f-i-r-v][dirName/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

-f 即使文件属性为只读(即写保护),亦直接删除

-i 删除前逐一询问确认

-r 删除目录及其下所有文件

代码演示:

rm 文件名 //只能删除文件不能删除文件夹

[root@iZ2ze8prly56kg8in4hqa2Z dir]# rm test.c
rm: remove regular empty file ‘test.c’? y

rm -r //递归删除,目录(包括 非空目录)和文件都能删除

[root@iZ2ze8prly56kg8in4hqa2Z dir]# rm -r a
rm: descend into directory ‘a’? y
rm: descend into directory ‘a/b’? y
rm: remove directory ‘a/b/c’? y
rm: remove directory ‘a/b’? y
rm: remove directory ‘a’? y
[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
├── myfail.c
└── newfile
1 directory, 1 file

rm -rf // 无视权限强制删除

[root@iZ2ze8prly56kg8in4hqa2Z dir]# rm -rf myfail.c
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll
total 4
drwxr-xr-x 2 root root 4096 Dec 11 20:08 newfile

rm -rf ./* //删除当前目录下文件及其所有子文件

[root@iZ2ze8prly56kg8in4hqa2Z dir]# mkdir -p a/b/c/d/e
[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
├── a
│   └── b
│       └── c
│           └── d
│               └── e
└── newfile
6 directories, 0 files
[root@iZ2ze8prly56kg8in4hqa2Z dir]# rm -rf ./* 
[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
0 directories, 0 files

9. nano指令:

一个用于编写代码的命令:

安装nano:

yum install -y nano

语法:

nano 文件名 // 对文件进行编辑

:使用 nano 时右侧小键盘无法使用。

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# nano test.c  //编辑文件
[root@iZ2ze8prly56kg8in4hqa2Z dir]# gcc test.c  //用gcc编译
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ./a.out   //运行a.out
Hello Linux!        //编译结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2te1TCDj-1670767143602)(C:\Users\jason\AppData\Roaming\Typora\typora-user-images\image-20221211213637404.png)]

10. clear命令:

清理屏幕

11. whoami 命令:

显示当前用户名称

12.常用键位:

tab :

功能:只能补全(命令, 显示当前目录的文件);

命令:

如果忘记了某些命令,但记得命令的一部分,可以使用tab来帮助我们:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# y
yes           ypdomainname  yum

显示当前目录的文件:

可以用于书写绝对路径的时候辅助书写;

[root@iZ2ze8prly56kg8in4hqa2Z dir]# cd 
a.out   test.c

ctrl + c:

语法: 用于终止程序;

alt + enter:

全屏


相关文章
|
17天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
54 23
Linux系统之whereis命令的基本使用
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
384 8
|
3月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1204 6
|
3月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
230 3
|
3月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
152 2
|
4天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
54 25
|
2天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
14 2
|
1月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
42 11
|
2月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
117 14
Linux 10 个“who”命令示例
|
2月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
244 20