参考源

https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0

版本

本文章基于 CentOS 7.6


工具

清屏

clear

使用 clear 命令后,会清空当前屏幕的所有命令,回到最初始的界面。

[root@sail logs]#

其实这只是将之前的内容全部滚到最上面隐藏起来,向上滑动滚轮是可以看到之前的内容的。

查看历史命令

history

[root@sail logs]# history
1 ls
2 pwd
3 cd home

退出

exit

使用 exit 命令会退出当前终端。

这只是退出命令输入终端,并不是退出系统,对系统是没有影响的。

文档查看

man

Linux 系统可以使用 man 命令 来查看各个命令的使用文档。

使用说明

--help

Linux 系统可以使用 命令 --help 来查看各命令的使用说明。

关机

shutdown

Linux 大多用在服务器上,服务器上跑的服务是需要持续稳定的,除非特殊情况下,不得已才会关机。

立刻关机

shutdown –h now

10分钟后关机

shutdown –h 10

今天20:25关机

shutdown –h 20:25

halt

等同于 shutdown –h now

poweroff

等同于 shutdown –h now

重启

reboot

立刻重启

 reboot

10分钟后重启

shutdown –r +10

立刻重启,等同于 reboot

shutdown –r now

同步数据

sync

将数据由内存同步到硬盘中。

sync

不管关机还是重启,首先要运行 sync 命令,把内存中的数据写到磁盘中。

目录

展示

ls

在 Linux 系统当中, ls 命令可能是最常被运行的。

语法:

ls [-aAdfFhilnrRSt] 目录名称

参数:

  • -a:全部的文件,连同隐藏文件(开头为 . 的文件) 一起列出来(常用)。
  • -l:长数据串列出,包含文件的属性与权限等等数据(常用)。
  • -i:显示文件的 inode 节点信息。

将目录下的所有文件列出来(含属性与隐藏档)

[root@sail /]# ls -al
total 68
dr-xr-xr-x. 18 root root 4096 Oct 25 21:28 .
dr-xr-xr-x. 18 root root 4096 Oct 25 21:28 ..
lrwxrwxrwx. 1 root root 7 Jul 11 2019 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jul 11 2019 boot
drwxr-xr-x 19 root root 2980 Oct 31 22:57 dev
drwxr-xr-x. 77 root root 4096 Oct 31 22:54 etc
drwxr-xr-x. 3 root root 4096 Oct 25 21:14 home
lrwxrwxrwx. 1 root root 7 Jul 11 2019 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Jul 11 2019 lib64 -> usr/lib64
drwx------. 2 root root 16384 Jul 11 2019 lost+found
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 4096 Apr 11 2018 opt
dr-xr-xr-x 90 root root 0 Oct 31 22:54 proc
dr-xr-x---. 5 root root 4096 Oct 31 22:54 root
drwxr-xr-x 23 root root 640 Oct 31 22:55 run
lrwxrwxrwx. 1 root root 8 Jul 11 2019 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 Nov 1 2021 sys
drwxrwxrwt. 10 root root 4096 Oct 31 22:55 tmp
drwxr-xr-x. 13 root root 4096 Jul 11 2019 usr
drwxr-xr-x. 19 root root 4096 Jul 11 2019 var

切换

cd

Change Directory 的缩写,这是用来变换工作目录的命令。

语法:

cd [相对路径或绝对路径]

切换到用户目录下

cd home

回到上一级

cd ..

切换到根目录

cd /

切换到 root 目录

cd root

显示当前

pwd

Print Working Directory 的缩写,也就是显示目前所在目录的命令。

语法:

pwd [-P]

参数:

  • -P :显示出确实的路径,而非使用连接(link)路径。

单纯显示出目前的工作目录

[root@sail ~]# pwd
/root

如果是链接,要显示真实地址,可以使用 -P 参数

[root@sail ~]# cd /bin
[root@sail bin]# pwd
/bin
[root@sail bin]# pwd -P
/usr/bin

创建

mkdir

Make Directory的缩写,创建新目录。

语法:

mkdir [-mp] 目录名称

参数:

  • -m :配置文件的权限。直接配置,不需要考虑默认权限(umask)。
  • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来。

创建目录。

mkdir sail

创建多级目录。

[root@sail home]# mkdir test1/test2/test3/test4
mkdir: cannot create directory ‘test1/test2/test3/test4’: No such file or directory

可以看出,是不能直接创建多级目录的。


如果需要创建多级目录,需要加上 -p 参数。

[root@sail home]# mkdir -p test1/test2/test3/test4
[root@sail home]# ls
admin test1

创建权限为 rwx--x--x 的目录

[root@sail home]# mkdir -m 711 test2
[root@sail home]# ls -l
total 12
drwx------ 3 admin admin 4096 Oct 29 09:56 admin
drwxr-xr-x 3 root root 4096 Oct 31 23:19 test1
drwx--x--x 2 root root 4096 Oct 31 23:21 test2

删除

rmdir

删除空的目录。

语法:

rmdir [-p] 目录名称

参数:

  • -p: 连同下一级(空的)目录也一起删除。

删除空目录。

[root@sail home]# rmdir test2
[root@sail home]# ls
admin test1

删除非空目录。

[root@sail home]# rm test1
rm: cannot remove ‘test1’: Is a directory

因为目录不是空的,无法删除。


加上参数 -p ,可以将 test1/test2/test3/test4 依次删除。

[root@sail home]# rmdir -p test1/test2/test3/test4
[root@sail home]# ls
admin

rmdir 仅能删除空的目录,可以使用 rm 命令来删除非空目录。

文件

复制

cp

复制文件或目录

语法:

cp [-adfilprsu] 来源(source) 目标(destination)

参数:

  • -a:相当于 -pdr 命令(常用)。
  • -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)。
  • -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身。
  • -r:递归持续复制,用於目录的复制行为(常用)。
  • -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次。
  • -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)。
  • -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。
  • -s:复制成为符号连结档(symbolic link),亦即捷径文件。
  • -u:若 destination 比 source 旧才升级 destination。

找一个有文件的目录,我这里找到 root 目录。

[root@sail home]# cd /root
[root@sail ~]# ls
install.sh
[root@sail ~]# cd /home

复制 /root 目录下的 install.sh/home 目录下

[root@sail home]# cp /root/install.sh /home
[root@sail home]# ls
install.sh

再次复制,加上 -i 参数,增加覆盖询问(n 不覆盖,y 为覆盖)。

[root@sail home]# cp -i /root/install.sh /home
cp: overwrite ‘/home/install.sh’?

删除

rm

删除文件或目录

语法:

rm [-fir] 文件或目录

参数:

  • -f :force 的缩写,忽略不存在的文件,不会出现警告信息。
  • -i :互动模式,在删除前会询问使用者是否动作。
  • -r :递归删除。常用于目录的删除(影响很大,需要谨慎操作)。

删除 /homeinstall.sh

[root@sail home]# rm -i install.sh
rm: remove regular file ‘install.sh’? y

删除所有文件。

rm -rf /

此命令会强制递归删除 / 下的所有文件。

由于 / 是根目录,所以会删除所有文件。

由于 Linux 一切皆文件,删除所有文件后系统将无法使用。

这是非常危险的命令,除非真的有此需要,否则千万不要使用。

移动

mv

移动文件与目录,或修改名称。

语法:

mv [-fiu] source destination

参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
  • -i :若目标文件(destination)已经存在时,就会询问是否覆盖。
  • -u :若目标文件已经存在,且 source 比较新,才会升级(update)。

复制一个文件到当前目录。

[root@sail home]# cp /root/install.sh /home

创建一个文件夹 test。

[root@sail home]# mkdir test

将复制过来的文件移动到我们创建的目录,并查看。

[root@sail home]# mv install.sh test
[root@sail home]# ls
test
[root@sail home]# cd test
[root@sail test]# ls
install.sh

将文件夹重命名,然后再次查看。

[root@sail test]# cd ..
[root@sail home]# mv test mvtest
[root@sail home]# ls
mvtest

创建文件

touch

在当前目录创建一个文件。

语法:

touch 文件名
[root@sail home]# touch f1
[root@sail home]# ls
admin f1

编辑文本

echo

输入内容给指定文件。

语法:

echo "内容" >>文件名
[root@sail home]# echo "I am f1 file" >>f1
[root@sail home]# cat f1
I am f1 file

这种方式很不方便,一般推荐使用 vim 命令来编辑文本。具体操作见:Linux 09 vim使用

内容查看

显示

cat

由第一行开始显示文件内容。

语法:

cat [-AbEnTv]

参数:

  • -A:相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已。
  • -b:列出行号,仅针对非空白行做行号显示,空白行不标行号。
  • -E:将结尾的断行字节 $ 显示出来。
  • -n:列印出行号,连同空白行也会有行号,与 -b 的选项不同。
  • -T:将 [tab] 按键以 ^I 显示出来。
  • -v:列出一些看不出来的特殊字符。
[root@sail ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

反显

tac

taccat 命令的反写,意思也很明显:由最后一行开始显示文件内容。

[root@sail ~]# tac /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
DEVICE=eth0

查看并显示行号

nl

语法:

nl [-bnw] 文件

参数:

  • -b:指定行号指定的方式,主要有两种:

    • -b a:不论是否为空行,也同样列出行号(类似 cat -n)。
    • -b t:如果有空行,空的那一行不要列出行号(默认值)。
  • -n:列出行号表示的方法,主要有三种:
    • -n ln:行号在荧幕的最左方显示。
    • -n rn:行号在自己栏位的最右方显示,且不加 0。
    • -n rz:行号在自己栏位的最右方显示,且加 0。
  • -w:行号栏位的占用的位数。
[root@sail ~]# nl /etc/sysconfig/network-scripts/ifcfg-eth0
1 DEVICE=eth0
2 BOOTPROTO=dhcp
3 ONBOOT=yes

查看并翻页

more

一页一页翻动(只能向下翻动)。

按键:

在 more 这个程序的运行过程中,你有几个按键可以按的:

  • 空白键:代表向下翻一页。
  • 回车键:代表向下翻一行。
  • /:代表在这个显示的内容当中,向下搜寻这个关键字。
  • f:立刻显示出档名以及目前显示的行数;
  • q:代表立刻离开 more ,不再显示该文件内容。
  • bctrl b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less

一页一页翻动(可以上下翻页)。

按键:

  • 空格键:向下翻动一页。
  • 上键:向下翻动一页。
  • 下键:向上翻动一页。
  • / :向下搜寻『字串』的功能。
  • ?:向上搜寻『字串』的功能。
  • n:重复前一个搜寻 (与 / 或 ? 有关!)。
  • N:反向的重复前一个搜寻 (与 / 或 ? 有关!)。
  • q:离开 less 这个程序。

查看前面几行

head

语法:

head [-n number] 文件

参数:

  • -n:后面接数字,代表显示几行的意思。默认显示前面 10 行。
[root@sail ~]# head -n 15 /etc/csh.login
# /etc/csh.login # System wide environment and startup programs, for login setup #add sbin directories to the path
foreach p ( /usr/local/sbin /usr/sbin )
switch (":${PATH}:")
case "*:${p}:*":
breaksw
default:
if ( $uid == 0 ) then
set path = ( ${p} ${path:q} )
else
set path = ( ${path:q} ${p} )
endif

查看后面几行

tail

语法:

tail [-n number] 文件

参数:

  • -n:后面接数字,代表显示几行的意思。默认显示最后 10 行。
[root@sail ~]# tail -n 15  /etc/csh.login
set history=1000 if ( -d /etc/profile.d ) then
set nonomatch
foreach i ( /etc/profile.d/*.csh /etc/profile.d/csh.local )
if ( -r "$i" ) then
if ($?prompt) then
source "$i"
else
source "$i" >& /dev/null
endif
endif
end
unset i nonomatch
endif

链接

Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为软链接或者符号链接(Symbolic Link)。

硬链接

ln

一般情况下,ln 命令产生硬链接。

语法:

ln 文件

硬链接通过索引节点来进行链接。

在 Linux 中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。

在 Linux 中,多个文件名指向同一索引节点是存在的。比如:

AB 的硬链接(AB 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同。

一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件。


A 和 B 对文件系统来说是完全平等的,删除其中任何一个都不会影响另外一个的访问。

硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删的功能。


其原因如上所述,因为对应该目录的索引节点有一个以上的连接,只删除一个连接并不影响索引节点本身和其它的连接。

只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。

文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软链接

ln -s

语法:

ln -s 文件

另外一种连接称之为软链接(Symbolic Link),也叫符号链接

软链接类似于 Windows 的快捷方式。它实际上是一个特殊的文件。


在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:

AB 的软链接(AB 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,AB 指向的是两个不同的 inode,继而指向两块不同的数据块。

A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。

AB 之间是主从关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。


创建一个测试文件 f1。

[root@sail home]# touch f1
[root@sail home]# ls
admin f1

创建 f1 的一个硬链接文件 f2。

[root@sail home]# ln f1 f2

创建 f1 的一个软链接文件 f3。

[root@sail home]# ln -s f1 f3

显示文件的 inode 节点信息。

[root@sail home]# ls -li
total 4
1048909 drwx------ 3 admin admin 4096 Oct 29 09:56 admin
664707 -rw-r--r-- 2 root root 0 Nov 6 22:09 f1
664707 -rw-r--r-- 2 root root 0 Nov 6 22:09 f2
664708 lrwxrwxrwx 1 root root 2 Nov 6 22:09 f3 -> f1

硬链接文件 f2 与原文件 f1 的 inode 节点相同,均为 664707,然而软链接文件的 inode 节点不同。


输入字符到 f1。

[root@sail home]# echo "I am f1 file" >>f1

查看文件。

[root@sail home]# cat f1
I am f1 file
[root@sail home]# cat f2
I am f1 file
[root@sail home]# cat f3
I am f1 file
[root@sail home]# rm -f f1
[root@sail home]# cat f2
I am f1 file
[root@sail home]# cat f3
cat: f3: No such file or directory

可以看出,当删除原始文件 f1 后,硬链接 f2 不受影响,但是软链接 f3 无效。


由此可以得到如下结论:

  • 删除符号连接 f3,对 f1f2 无影响。
  • 删除硬连接 f2,对 f1f3 也无影响。
  • 删除原文件 f1,对硬链接 f2 没有影响,导致软链接 f3 失效。
  • 同时删除原文件 f1、硬连接 f2,整个文件会真正的被删除。

服务

查看状态

systemctl status

systemctl status 服务名.service

重新注册

systemctl daemon-reload

systemctl daemon-reload

设置开机自启动

systemctl enable

systemctl enable 服务名.service

启动

systemctl start

systemctl start 服务名.service

停止

systemctl stop

systemctl stop 服务名.service

重启

systemctl restart

systemctl restart 服务名.service

主机

查看

hostname

[root@sail ~]# hostname
sail

修改

命令方式

hostnamectl set-hostname

hostnamectl set-hostname 主机名

修改文件

修改 /etc/hostname 内容即可。

修改后需要重启服务器

reboot

Linux 02 基本命令的更多相关文章

  1. 二:Linux 的基本命令、VI编辑器、Linux中软件安装

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E--盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  2. 第四周博客之一---Linux的基本命令(前5个)

    一.Linux的系统结构 "/"根目录部分有以下子目录: 1./bin:系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用. 2./boot:用于自举加载程序(LILO ...

  3. Linux 的基本命令

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E……盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  4. Linux常用基本命令(less)

    转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...

  5. Linux 常用基本命令及应用技巧

    需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...

  6. Linux操作系统-基本命令(二)

    Linux操作系统基本命令 文件操作类命令 – ln命令 另外一种链接方式称为符号链接(软链接),是指一个文件指向另外一个文件的文件名.软链接类似于Windows系统中的快捷方式.软链接由ln -s命 ...

  7. linux 02 基础命令

    linux 02 基础命令 1.alias 别名 pyvip@Vip:~/demo$ alias lh="ls -lh" #将ls -lh的功能赋给lh(lh原来并没有意义)这个赋 ...

  8. Linux文件基本命令

    Linux文件基本命令学习 操作技巧: 输入文件/目录/命令的前几个字母之后,按下tab键,则自动补全 按上/下,回滚曾经用过的命令 不想执行命令使用:crtl + c 基础命令: ls(查看) 基础 ...

  9. linux(02)基础shell命令

    Linux(02)之shell命令 一,Linux命令行的组成结构 在我们的linux启动,登陆成功之后会显示: 这就是linux的命令行的组成结构 二,常见命令 1,Linux系统命令操作语法格式 ...

随机推荐

  1. MTK 虚拟 sensor bring up (pick up) sensor2.0

    pick up bring up sensor2.0 1.SCP侧的配置 (1) 放置驱动pickup.c (2) 添加底层驱动文件编译开关 (3) 加入编译文件 (4) 增加数据上报方式 (5)修改 ...

  2. Vue出现Component template should ...

    当运行vue出现错误Component template should contain exactly one root element. If you ...的时候,我们只需要将<templa ...

  3. Node.js安装与环境配置

    废话不多少直接上干货.坐车扶稳, 当然你要知道Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.其次Node.js是一个事件驱动I/O服务端JavaScript环境, ...

  4. python生产exe文件yi以及解释器配置等

    原文链接:https://blog.csdn.net/weixin_42691768/article/details/81044666 https://www.cnblogs.com/paulwhw/ ...

  5. 开发工具-PowerShell下载地址

    更新日志 2022年6月10日 初始化链接. https://github.com/PowerShell/PowerShell/releases/

  6. 如何优雅的使用MyBatis?

    ​本文目录 什么是 MyBatis ? 映射器(mappers) typeAliases 类型别名减少类完全限制名的冗余 处理枚举类型 多行插入 重用 SQL 代码段,消除重复 字符串替换#{}和${ ...

  7. 修改jupyter notebook文件保存目录

    我们安装好jupyter notebook之后,打开的默认地址是在C盘,文件保存的文字也是C盘,会有其它乱七八糟的东西放一起,很不方便,所以可以换一个保存位置 1. 首先,在要存放文件的位置新建文件夹 ...

  8. 关于vue项目中axios跨域的解决方法(开发环境)

    1.在config文件中修改index.js proxyTable: { "/api":{ target: 'https://www.baidu.com/muc/',//你需要跨域 ...

  9. Linux文件查找实现

    文件查找 locate:非实时查找(依赖数据库的方式) find(实时查找) locate:-- 模糊搜索(不适合经常改变的文件) locate 查询系统上预建的文件索引数据库 /var/lib/ml ...

  10. springboot项目上传存储图片到七牛云服务器

    springboot项目上传存储图片到七牛云服务器 问题描述: 当图片存在本地时会出现卡顿的现象.比如一篇图文混排的文章,如果图片没有加载完,可能整个文章都显示不出来,因为它们都是用的同一个服务器. ...