Linux 02 基本命令
参考源
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
tac
是 cat
命令的反写,意思也很明显:由最后一行开始显示文件内容。
[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 ,不再显示该文件内容。b
或ctrl 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 中,多个文件名指向同一索引节点是存在的。比如:
A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同。
一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件。
A 和 B 对文件系统来说是完全平等的,删除其中任何一个都不会影响另外一个的访问。
硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删的功能。
其原因如上所述,因为对应该目录的索引节点有一个以上的连接,只删除一个连接并不影响索引节点本身和其它的连接。
只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。
文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软链接
ln -s
语法:
ln -s 文件
另外一种连接称之为软链接(Symbolic Link),也叫符号链接。
软链接类似于 Windows 的快捷方式。它实际上是一个特殊的文件。
在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:
A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。
A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。
A 和 B 之间是主从关系,如果 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,对 f1、f2 无影响。
- 删除硬连接 f2,对 f1、f3 也无影响。
- 删除原文件 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 基本命令的更多相关文章
- 二:Linux 的基本命令、VI编辑器、Linux中软件安装
Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E--盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...
- 第四周博客之一---Linux的基本命令(前5个)
一.Linux的系统结构 "/"根目录部分有以下子目录: 1./bin:系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用. 2./boot:用于自举加载程序(LILO ...
- Linux 的基本命令
Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E……盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...
- Linux常用基本命令(less)
转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...
- Linux 常用基本命令及应用技巧
需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...
- Linux操作系统-基本命令(二)
Linux操作系统基本命令 文件操作类命令 – ln命令 另外一种链接方式称为符号链接(软链接),是指一个文件指向另外一个文件的文件名.软链接类似于Windows系统中的快捷方式.软链接由ln -s命 ...
- linux 02 基础命令
linux 02 基础命令 1.alias 别名 pyvip@Vip:~/demo$ alias lh="ls -lh" #将ls -lh的功能赋给lh(lh原来并没有意义)这个赋 ...
- Linux文件基本命令
Linux文件基本命令学习 操作技巧: 输入文件/目录/命令的前几个字母之后,按下tab键,则自动补全 按上/下,回滚曾经用过的命令 不想执行命令使用:crtl + c 基础命令: ls(查看) 基础 ...
- linux(02)基础shell命令
Linux(02)之shell命令 一,Linux命令行的组成结构 在我们的linux启动,登陆成功之后会显示: 这就是linux的命令行的组成结构 二,常见命令 1,Linux系统命令操作语法格式 ...
随机推荐
- st表 LCA
我当时知道ST表可以 \(O(1)\) 求 LCA 的时候是极为震惊的,可以在需要反复使用 LCA 的时候卡常使用. ST表!用于解决 RMQ问题 ST表 我可能写得不好,看专业的 怎么实现? 考虑把 ...
- Unity中通过深度优先算法和广度优先算法打印游戏物体名
前言:又是一个月没写博客了,每次下班都懒得写,觉得浪费时间.... 深度优先搜索和广度优先搜索的定义,网络上已经说的很清楚了,我也是看了网上的才懂的,所以就不在这里赘述了.今天讲解的实例,主要是通过自 ...
- 拥抱Spring全新OAuth解决方案
以下全文 Spring Authorization Server 简称为: SAS 背景 Spring 团队正式宣布 Spring Security OAuth 停止维护,该项目将不会再进行任何的迭代 ...
- idea 中菜单栏定位到类的图标消失(小齿轮按钮)
本文链接:https://www.cnblogs.com/hchengmx/p/14533349.html 在2019.2以及以下版本 勾选:Autoscroll from source: 在2019 ...
- springboot 项目 运行rabbitmq(推送+消费)
准备 先下载windos版本的mq 「rabbitmq-server-3.9.13.exe」https://www.aliyundrive.com/s/VKB63ghAJZx 点击下载 1启动rabb ...
- JS:相等判断
1.= 赋值运算符 错误写法:a+b = c; 2.== :=== ==判断值是否相等 例: var a = 2; var b = 3; var c = a+b; var d = "2&q ...
- 推荐一款M1芯片电脑快速搭建集群的虚拟机软件
虚拟机软件太多了,出名的莫过于VMware,VirutlaBox以及Parallels Desktop. 我们使用虚拟机软件一般有两种用途: 安装不同于宿主机系统的拥有用户界面的操作系统,比如Wind ...
- Windows-matlab简易安装-用于数字图像处理
安装 下载链接 解压文件得到 双击setup.exe 主要注意几点 使用文件安装密匙 只需安装这三个即可 将两个文件夹里面的dll文件复制到安装目录的 /bin/win64 目录 两个 .lic 文件 ...
- 如何手动解析vue单文件并预览?
开头 笔者之前的文章里介绍过一个代码在线编辑预览工具的实现(传送门:快速搭建一个代码在线编辑预览工具),实现了css.html.js的编辑,但是对于demo场景来说,vue单文件也是一个比较好的代码组 ...
- centos系统和Ubuntu系统命令区别以及常见操作
目录 一.前言 二.系统环境 三.命令区别 3.1 使用习惯和命令区别 3.2 服务管理的区别 3.3 软件包信息区别 四.Ubuntu系统常见操作 4.1 Ubuntu系统apt和apt-get的区 ...