0


【Linux】常见指令(一)

文章目录

前面我们已经学习了关于云服务器搭建的过程,下面,我们来正式开始操作指令。

开始之前,我们来了解几个概念。

操作系统简述(OS)

image-20220919102414865
操作系统处于软硬件之间,起承上启下的效果。对上给应用提供接口,所以软件可以被编写出来。

操作系统是管理软件,管理软硬件

对上:提供良好稳定安全的运行环境

对下:管理软硬件资源

学习命令行指令是我们学习操作系统非常重要的手段

在发展上,我们是先有键盘然后才有鼠标的,这也就意味着先有的命令行式才有的图形界面化式

下面,我们来登录我们的Xshell


文件

目录和文件是在磁盘上建立的,空文件是在磁盘上占用空间的(文件包括文件内容和文件的各种属性/元数据)即使本身没有内容,文件的各种属性也要占用空间。既文件等于文件内容数据加上文件属性数据

目录——>文件夹——>保存其他文件

登录root用户

登录指令 ssh root@+IP

image-20220919130923533

现在,输入我们设置的密码

image-20220919131225536

登录完成

如果要退出的话:Ctrl+d

image-20220919142118529

怎么去查看当前的用户❓whoami

[root@VM-8-3-centos home]# whoami
root

常用指令

pwd

语法: pwd
功能:显示用户当前所在的目录

[root@VM-8-3-centos ~]# pwd
//显示当前用户所在的路径
/root

在Windows下,我们很容易就能够找到路径:在这里\就是路径分隔符

image-20220919163834051

而在Linux下,是以/作为路径分隔符。

那为什么要以路径标识一个文件❓从根目录到所在文件的路径具有唯一性

说到路径,这就要说到绝对路径和相对路径了

绝对路径:从根目录开始,依次按树状结构向后进行查找定义称为绝对路径

相对路径:相对于当前所处的路径,当前的相对位置查找所处的位置

ls 指令

语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息

[root@VM-8-3-centos ~]# ls
//显示当前路径下的文件或目录名称
106  a  dir  test.c  thj

而一条命名除了本身,还可以携带选项

常用选项:
-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 一行只输出一个文件。

这里的携带选项比较多,我们可以选几个出来看一看。

[root@VM-8-3-centos ~]# ls -l
//显示当前路径下的文件或者目录的更详细的属性信息
total 16
drwxr-xr-x 2 root root 4096 Sep 18 12:28 106
drwxr-xr-x 3 root root 4096 Sep 18 12:11 a
-rw-r--r-- 1 root root    0 Sep 17 19:32 dir
-rw-r--r-- 1 root root  105 Sep 17 23:08 test.c
drwxr-xr-x 3 root root 4096 Sep 19 09:56 thj
[root@VM-8-3-centos ~]# ls -al
total 92
dr-xr-x---. 11 root root  4096 Sep 19 10:04 .
dr-xr-xr-x. 20 root root  4096 Sep 19 15:31 ..
drwxr-xr-x   3 root root  4096 Sep 19 15:28 106
drwxr-xr-x   3 root root  4096 Sep 18 12:11 a
-rw-------   1 root root 13170 Sep 19 15:31 .bash_history
-rw-r--r--.  1 root root    18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root   176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root   176 Dec 29  2013 .bashrc
drwxr-xr-x   3 root root  4096 Sep  6 23:14 .cache
drwxr-xr-x   3 root root  4096 Sep  6 23:14 .config
-rw-r--r--.  1 root root   100 Dec 29  2013 .cshrc
-rw-r--r--   1 root root     0 Sep 17 19:32 dir
-rw-r--r--   1 root root     0 Sep 17 19:27 .file
drwxr-xr-x   2 root root  4096 Sep 17 19:33 .hello
drwxr-xr-x   2 root root  4096 Jul 25 17:53 .pip
-rw-r--r--   1 root root    73 Sep  6 22:36 .pydistutils.cfg
drwx------   2 root root  4096 Sep  6 22:36 .ssh
-rw-r--r--.  1 root root   129 Dec 29  2013 .tcshrc
-rw-r--r--   1 root root   105 Sep 17 23:08 test.c

image-20220919153925874

我们看到ls如果带-a选项,会出现一个点和两个点。在这里

一个点表示当前路径,两个点表示上级路径。比如下面的cd …返回上级路径。

在Linux中,以点开头的文件我们叫做隐藏文件

ls -a:显示所有文件,包括隐藏文件。也就是说,ls不显示隐藏文件

其实,也就相当于windows下的查看隐藏文件

image-20220919160208498

除ls - l之外,linux下还有特定的指令:ll显示的结果是一样的

image-20220919161004598

而对于ls -Rl,就是展开子目录下的文件

[root@VM-8-3-centos ~]# ls -Rl
.:
total 16
drwxr-xr-x 3 root root 4096 Sep 19 15:28 106
-rw-r--r-- 1 root root    0 Sep 19 16:13 106.txt
drwxr-xr-x 3 root root 4096 Sep 18 12:11 a
-rw-r--r-- 1 root root    0 Sep 17 19:32 dir
-rw-r--r-- 1 root root  105 Sep 17 23:08 test.c
drwxr-xr-x 3 root root 4096 Sep 19 09:56 thj

./106:
total 4
drwxr-xr-x 2 root root 4096 Sep 19 15:28 106

./106/106:
total 0

./a:
total 4
drwxr-xr-x 3 root root 4096 Sep 17 23:10 b

./a/b:
total 4
drwxr-xr-x 3 root root 4096 Sep 17 23:10 c

./a/b/c:
total 4
drwxr-xr-x 2 root root 4096 Sep 17 23:10 d

./a/b/c/d:
total 0

./thj:
total 4
drwxr-xr-x 2 root root 4096 Sep 19 10:04 test

./thj/test:
total 16
-rwxr-xr-x 1 root root 8968 Sep 19 09:58 a.out
-rw-r--r-- 1 root root   99 Sep 19 10:04 test.cpp

cd指令

cd 指令,在Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

image-20220919144757803

类似于树形结构,分为叶子节点和路上节点。对于叶子节点,既最后一层,可以有普通文件或者空目录,而路上节点只能是目录。

说到这里,我们可以通过指令tree .(安装命令: yum install -y tree)来显示树状目录

image-20220919170746391

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
举例:

cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

cd就简单的就是带上你想去的路径

[root@VM-8-3-centos ~]# cd 106
//切换路径,进入不同的路径下操作
[root@VM-8-3-centos 106]# pwd
/root/106

cd…回退上级路径(如果一直回退,最终会无法回退,只会到根目录/)

[root@VM-8-3-centos ~]# pwd
/root
[root@VM-8-3-centos ~]# cd ..
//返回到根目录
[root@VM-8-3-centos /]# pwd
/
[root@VM-8-3-centos /]# 

下面我们来看一看cd -指令:进入当前用户的工作目录。即默认登陆所处的目录(这里我提前登录到了自己创建的用户,自己创建了不止一个用户哟

image-20220919182416622

我们先进入一个目录,然后进行cd -,就会返回到最近的访问目录,然后在cd -,就又会返回到刚刚进入的目录。也就是说,会进行来回切换。

touch指令

touch是一个Linux下创建普通文件的命令

image-20220919183305588

语法:touch [选项]… 文件…
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:

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

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

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

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

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

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

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

除此之外,我们还可以去查看文件时间

image-20220919183527389

查看时间之外我们可以利用touch去更新时间:

image-20220919213348110

mkdir指令

语法: mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

image-20220919213645041

mkdir只能创建一个空目录

image-20220919213726724

想创建一串路径需要带-p,最后我们来看看是否成功了:

image-20220919214153136

我们也可以创建一个空的目录:

image-20220924220249906

rmdir指令 && rm 指令

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

语法: rmdir [-p][dirName]

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

功能:删除空目录

rm默认删除普通文件

常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。rm命令可以同时删除文件或目录

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

适用对象:所有使用者

功能:删除文件或目录

常用选项:

  • -f即使文件属性为只读(即写保护),亦直接删除(强制)
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件(递归删除

删库跑路:rm -rf /

man指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是

man 语法: man [选项] 命令

开始之前,记得确认自己是否有安装man手册(在root用户下:yum install -y man-pages)

常用选项

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。解释一下,面手册分为8章

1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

举个简单的例子:

[root@VM-8-3-centos test]# man 3 printf
[root@VM-8-3-centos test]# 

image-20220925121620935

cp指令

语法: cp [选项] 源文件或目录 目标文件或目录

cp[选项] src dest

功能: 拷贝文件或目录(拷贝不是剪切)

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

-i 或 --interactive 覆盖文件之前先询问用户.同rm

[root@VM-8-3-centos test]# tree .
.
|-- cp_file
|   `-- file.txt
|-- file1.txt
|-- file2.txt
|-- file3.txt
|-- file.txt
`-- toot4

1 directory, 6 files
[root@VM-8-3-centos test]# cp file1.txt cp_file/
[root@VM-8-3-centos test]# cp -i file1.txt cp_file/
cp: overwrite ‘cp_file/file1.txt’? n

-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

标签: linux 服务器 运维

本文转载自: https://blog.csdn.net/weixin_60478154/article/details/127038018
版权归原作者 平凡的人1 所有, 如有侵权,请联系我们删除。

“【Linux】常见指令(一)”的评论:

还没有评论