Linux——基础命令用法(上)

一、Linux基础命令 1、Linux命令行的格式 命令行的格式为:用户名+主机名+当前工作目录
输入内容的命令格式为:命令 [-短选项/--长选项] [参数]

[root@localhost~]# 命令 [-短选项/--长选项] [参数]

其中命令就是“做什么”,选项就是“怎么做”,参数就是“对谁做”
例如:更改主机名
[root@localhost ~]# hostnamectl set-hostname 主机名 [root@localhost ~]# bash #环境变量重载

2、常用基础命令 1、pwd命令——作用:显示当前所在位置的完整路径
[root@localhost yum.repos.d]# pwd /etc/yum.repos.d

2、cd命令——作用:进入某个文件夹(某条路径)
蓝色字符代表文件夹
橄榄绿色的字符代表链接文件
黑色字符代表文本文件
.代表当前路径
..代表上一层路径
~代表当前用户的家目录,cd后面可省略
[root@localhost etc]# cd~ [root@localhost ~]# cd / [root@localhost /]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]#

3、ls命令——作用:显示当前文件夹的所有内容
-l -> 以长文件的形式显示(ls -l 可缩写成 ll 命令)
-a -> 显示隐藏的文件(以.开头的文件)
-la -> 以长文件的形式显示隐藏的文件(ls -al 可缩写成 ll -a)
-r -> 递归显示文件内容
[root@localhost /]# ls bindevhomelib64mntprocrunsrvtmpvar bootetclibmediaoptrootsbinsysusr [root@localhost /]# ls -a .bindevhomelib64mntprocrunsrvtmpvar ..bootetclibmediaoptrootsbinsysusr

4、man命令——作用:查看某个命令的使用帮助文档
[root@localhost ~]# manls 或 ls--help

5、su命令——作用:切换用户
[root@localhost ~]##代表管理员root,有且仅有1个 [root@localhost ~]# su – luna 不需要输入普通用户密码 [luna@localhost ~]$$代表普通用户,可以有多个 [luna@localhost ~]$ su – root 要输入root用户密码

6、passwd命令——作用:设置或更改用户的密码
注意:只有root用户才能使用该命令更改密码
[root@localhost ~]# passwd luna

7、date命令——作用:显示或者设置当前的系统日期和时间
date 单独使用 -> 详细日期和时间
date +%T -> 显示时间
date +%D -> 显示日期
date +%X%x -> 显示日期和时间
[root@localhost /]# date +%d%m%Y 04032021 [root@localhost /]# date +%d%m%y 040321

8、file命令——作用:查看文件类型
注意:linux中后缀名是可以自定义的,所以不要以文件的后缀名来判断文件类型
[root@localhost /]# file /etc/passwd /etc/passwd: ASCII text

10、head命令(tail命令)——作用:显示文件的前(后)几行,默认显示10行,可带参数-n指定显示行数
[root@localhost /]# head /etc/passwd ... [root@localhost /]# head -n 2 /etc/passwd ... [root@localhost /]# tail -n 10 /etc/passwd | head -n6 #查看/etc/passwd 文件倒数第10 行至第5行 ...

11、cat(tac)命令——作用:将整个文档内容从头至尾(从尾到头)显示出来
[root@localhost /]# cat /etc/crontab ... [root@localhost /]# tac /etc/crontab ...

12、wc命令——作用:统计文件中的行数、字数和字符数,分别对应-l、-w、-c
[root@localhost /]# wc /etc/shadow 4242 1226 /etc/shadow [root@localhost /]# wc -l /etc/shadow 42 /etc/shadow [root@localhost /]# wc -lwc /etc/shadow 4242 1226 /etc/shadow

13、history命令——作用:显示之前使用过的命令列表
[root@localhost ~]# history[root@localhost ~]# !number#执行历史命令列表中第number号命令[root@localhost ~]# !string#执行历史命令列表中最近一次与string匹配的命令[root@localhost ~]# history -c#删除历史命令列表中的所有命令

可通过上下键查找之前使用过的命令
15、init命令——作用:切换系统状态
[root@localhost ~]# init1#切换到命令模式,相当于ctrl + alt + F2[root@localhost ~]# init5#切换到桌面图形化模式,相当于ctrl + alt + F1[root@localhost ~]# init0#关机,相当于ctrl + alt + Del

二、Linux的文件系统 Linux系统一切皆文件!以“/”开头的路径都是绝对路径,不以“/”开头的路径都是相对路径。
1、“/”下面的重要目录
  • /usr -> 存放普通用户命令(/usr/bin)、供root用户使用的系统管理命令,(/usr/sbin)、及安装的软件等数据。
  • /etc -> 存放系统服务的配置文件。
  • /dev -> 存放设备文件,例如硬盘、cpu、网卡等数据。
  • /home -> 普通用户的家目录(或主目录),存放普通用户的配置文件。
  • /root -> root用户的家目录(或主目录),存放root用户的配置文件。
  • /boot -> 存放系统启动过程所需的文件,系统内核等。
  • /var -> 存放动态变化的文件,例如日志文件、缓存文件、数据库等。
  • /tmp -> 存放临时文件,10天内未访问更改的文件将自动删除。
  • /run -> 存放上一次系统启动过的进程文件。
其中有4个链接文件:
  • /bin -> /usr/bin -> 存放普通用户使用的命令。
  • /sbin -> /usr/sbin -> 存放root用户使用的命令。
  • /lib -> /usr/lib -> 库文件
  • /lib64 -> /usr/lib64
2、文件相关的命令 【Linux——基础命令用法(上)】1、touch命令——作用:创建一个空文本文件
[root@localhost ~]# touch /opt/abc [root@localhost ~]# touch abc

2、dd命令——作用:创建一个大容量空文件
dd if=/dev/zero of=/test.file bs=1M count=100

3、mkdir命令——作用:创建文件夹
mkdir -p 创建多级目录
[root@localhost ~]# mkdir /aaa [root@localhost ~]# mkdir -p /aaa/bbb/ccc

4、cp命令——作用:复制文件
cp -r 复制文件夹(-r递归复制,也就是将当前文件夹里面所有子目录也复制过去)
注意:当复制的旧文件与新文件重名时,旧文件将覆盖新文件。
[root@localhost opt]# cp -r /aaa/ /opt/

5、mv命令——作用:移动文件,重命名文件
[root@localhost ~]# mv /aaa /mnt [root@localhost ~]# cd /mnt [root@localhost mnt]# ls aaa [root@localhost mnt]# mv aaa bbb [root@localhost mnt]# ls bbb

6、rm命令——作用:删除文件
rm -r 删除文件夹
rm -f 强制删除,不提示删除确认
[root@localhost /]# rm -f abc [root@localhost /]# [root@localhost /]# rm -rf /aaa [root@localhost /]#

7、echo命令——作用:将命令后面的参数显示出来
$符号后面跟系统变量,这个变量可以是大写也可以是小写。
[root@localhost /]# echo $HOSTNAME localhost.localdomain [root@localhost /]# echo date date [root@chenglu213 /]# echo `date` p 8 11:36:21 CST 2020

echo还可以修改文本内容,语法是:echo “XXX” > 、 >> filename
3、通配符的使用 *号简单模式匹配 -> 由0个或更多字符组成的字符串
?号简单模式匹配 -> 任何1个字符
{ }大括号 -> 批量执行命令,可以连续使用或者嵌套使用
[root@localhost /]# echo file{a{1,2},b,c}.log filea1.logfilea2.logfileb.logfilec.log [root@localhost /]# echo file{a,b,c}{1..3}.log filea1.log filea2.log filea3.log fileb1.log fileb2.log fileb3.log filec1.log filec2.log filec3.log

``反引号命令替换
[root@localhost /]# echo today is `date +%X%x` today is 12:59:11 PM11/13/2021

\反斜杠转意字符
[root@localhost /]# echo the hostname is \&HOSTNAME the hostname is &HOSTNAME

由单引号括起来的字符都作为普通字符出现
由双引号括起来的字符,除$、反引号(`)和反斜线(\)仍保留其特殊功能外,其余字符均作为普通字符对待。
4、重定向操作符 一个>是重定向符,作用:覆盖写入,文件里的原有数据不保留
两个>>是追加重定向符,作用:追加写入,不覆盖已有内容,直接写在文件末尾,原数据保留
[root@localhost /]# touch err.txt [root@localhost /]# systemctl restart unbound Failed to restart unbound.service: Unit not found. [root@localhost /]# systemctl restart unbound 2>err.txt [root@localhost /]# cat err.txt Failed to restart unbound.service: Unit not found.

在linux中,一个运行的程序(或称为进程)需要通过shell从键盘读取输入并将输出写入到终端或者文件。
进程使用一个名为文件描述符的编号通道来获取输入并发送输出。所有进程在开始时至少需要具有三个文件描述符:标准输入(通道0)、标准输出(通道1)、标准错误(通道2)。
5、管道符"|"的使用 作用:将前面的执行结果丢到管道符后面的命令去执行。
注意:管道符前面有重定向符号时,管道符后面要加上一个tee命令
[root@chenglu etc]# ls | grep ssh ssh [root@localhost /]# ls -l > 1.txt |tee less

三、vim文本编辑器 Vim有四种模式,分别是:插入模式、命令模式、末行模式和可视化模式。
1、插入模式 先按i/a/O/o -> 进入编辑状态(插入模式)
i -> 在当前光标处进行编辑 a -> 在当前光标下一格进行编辑 O -> 在当前光标上一行插入一个空行进行编辑 o -> 在当前光标下一行插入一个空行进行编辑

2、命令模式 先按Esc -> 退出编辑状态(插入模式)
yy -> 复制一行 nyy -> 复制n行 p -> 粘贴 dd -> 删除一行 ndd -> 删除n行 u -> 撤销上一次操作 U -> 撤销之前所有的操作 G -> 光标跳到末行 gg -> 光标跳到首行

3、末行模式 先按Esc -> 退出编辑状态(插入模式)
:(w/q/wq/wq!=x) -> 退出vim(w保存,q退出) :set nu ->显示行号 :set nonu-> 不显示行号 /word->从上而下查找某个单词内容 ?word ->从下而上查找某个单词word N -> 从尾至头进行查找 n-> 从头至尾进行查找 :%s/XXX/YYY/g-> 将文档中所有的XXX替换为YYY

4、可视模式 先按Esc -> 退出编辑状态(插入模式)
V(大写的) -> 用光标选择-> Yvim多行注释: 1、先按Esc进入命令行模式 2、按Ctrl+v,进入列模式 3、上下键选择需要注释内容 4、按大写“I”键,进入插入模式 5、然后输入注释符“#” 6、最后按两下“Esc”键完成

四、常用快捷键
  • Ctrl + a -> 光标跳到命令行的开头
  • Ctrl + e -> 光标跳到命令行的结尾
  • Ctrl + u -> 将光标处到命令行开头的所有内容清除
  • Ctrl + k -> 将光标处到命令行结尾的所有内容清除
  • Ctrl + ← -> 将光标跳到命令行前一字的开头(在桌面图形化状态下)
  • Ctrl + → -> 将光标跳到命令行下一字的末尾
  • Alt + backspace -> 删除光标所在的单词
  • Ctrl + g -> 光标进入
  • Ctrl + Alt -> 光标退出
  • Ctrl + L -> 清屏 = clear命令
  • Tab键补全——补全命令、选项和参数
    按一次Tab键:补全唯一匹配的命令或者选项或者参数
    按两次Tab键:将所有匹配的命令或者选项或者参数全部罗列出来

    推荐阅读