sheep 发表于 2022-8-6 11:29:07

Linux常用命令大全(详细版)

Linux常用命令大全(详细版)包含:
简单系统命令
Linux文件系统文件管理命令、文本内容查看/编辑命令
文件查找文件替换删除命令、文件链接命令、系统管理命令
输出命令、管道命令、用户组命令、用户命令、权限设置修改命令
系统软件管理命令、压缩解压缩命令、rpm软件命令、yum命令、Linux服务命令
ip设置命令、防火墙命令、主机名命令、ip映射命令、ssh命令、免密登录命令、远程拷贝相关linux命令

前往下一页查看
1.简单系统命令
# 查看ip地址
      ip a
      ip addr
# ping网络(测试网络连通)
      ip 目标机器的ip
# 查看系统时间
      date
# 注销
      logout
# 关机
      shutdown now
# 重启
      reboot
# 清屏
      clear

2.Linux文件系统1.Linux一切皆文件
2.只有一个顶级目录,不像windows分C盘、D盘、E盘





3. 文件管理命令

注意事项:命令区分大小写

# 1. 查看文件列表
      ls [-参数1参数2] [目标文件夹]# 查看当前目录下的文件列表
      ls
# 查看指定目录下的文件
      ls /
# 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
      ls -l
# 查看隐藏文件
      ls -a
# 参数并用
      ls -la

# 2. 切换目录
      cd 目标文件夹# 绝对路径切换
      cd 绝对路径
# 绝对路径切换
      cd 相对路径
# 例子:切换到/etc/sysconfig/networks-scripts 目录下

# 3. 查看当前命令所在的目录
# pwd
/etc/sysconfig/network-scripts
# 特殊目录符号
      ~ 当前用户的home目录
      . 当前目录
      .. 上一级目录

# 4. 新建文件夹及文件
# 在当前位置新建文件夹
      mkdir 文件夹名
# 在指定目录位置,创建文件夹,并创建父文件夹
      mkdir -p /a/b/文件夹名
# 在当前目录下新建文件
      touch 文件名

# 5. 删除文件
# 删除文件
      rm 文件
# 删除文件夹
      rm -r 文件夹
# 强制删除不询问
      rm -rf 文件

# 6. 拷贝文件
# 拷贝文件
      cp 原文件新文件
# 拷贝文件夹
      cp -r 源文件夹 新文件夹

# 7. 移动文件或修改文件名
# 移动源文件到目标文件夹中
      mv 文件文件夹
# 修改文件A的名字为文件B
      mv 文件A 文件B
# 8. 获取文件的md5指纹(数字签名)
md5sum 文件名
# 简介
1. 数字签名,又称数字指纹
2. 可以验证文件是否被修改
3. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)

4. 文本内容查看/编辑命令
# cat命令# 查看文件中的全部信息(适合查看小文档)
      cat 文件名

# less命令
# 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
      less 文件名
# 浏览模式快捷键
      ↑ #上一行
    ↓ #下一行
    G #最后一页
    g #第一页
    空格 #下一页
    /关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
    q #退出

# tail 命令
# 实时滚动显示文件的最后10行信息(默认10行)
tail -f 文件名
# 显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
# 显示文件信息从第20行至文件末尾
tail -n +20 文件名

#vi/vim命令vim键盘图

<b>第一部份:一般模式可用的光标移动、复制粘贴、搜索替换等</b>
<b>移动光标的方法</b>
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 “30j” 或 “30↓” 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!
+ 屏幕『向下』移动一页,相当于 按键 (常用)
+ 屏幕『向上』移动一页,相当于 按键 (常用)
+ 屏幕『向下』移动半页
+ 屏幕『向上』移动半页
光标移动到非空格符的下一行
– 光标移动到非空格符的上一行
n 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。
0 或功能键 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键 移动到这一行的最后面字符处(常用)
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg 移动到这个档案的第一行,相当于 1G 啊! (常用)
n n 为数字。光标向下移动 n 行(常用)
<b>搜索替换</b>
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
?word 向光标之上寻找一个字符串名称为 word 的字符串。
n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:
『:100,200s/vbird/VBIRD/g』。(常用)
:1,s / w o r d 1 / w o r d 2 / g 从 第 一 行 到 最 后 一 行 寻 找 w o r d 1 字 符 串 , 并 将 该 字 符 串 取 代 为 w o r d 2 ! ( 常 用 ) : 1 , s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) :1,s/word1/word2/g从第一行到最后一行寻找word1字符串,并将该字符串取代为word2!(常用):1,s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)
<b>删除、复制与贴上</b>
x, X 在一行字当中,x 为向后删除一个字符 (相当于 按键), X 为向前删除一个字符(相当于 亦即是退格键) (常用)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
dd 删除游标所在的那一整行(常用)
ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy 复制游标所在的那一行(常用)
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 <b>(常用)</b>
J 将光标所在行与下一行的数据结合成同一行
c 重复删除多个数据,例如向下删除 10 行,[ 10cj ]
u 复原前一个动作。(常用)
+r 重做上一个动作。(常用)
这个 u 与 +r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦!
. 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)
<b>第二部份:一般模式切换到编辑模式的可用的按钮说明</b>
<b>进入插入或取代的编辑模式</b>
i, I 进入插入模式(Insert mode):
i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个非空格符处开始插入』。 (常用)
a, A 进入插入模式(Insert mode):
a 为『从目前光标所在的下一个字符处开始插入』, A 为『从光标所在行的最后一个字符处开始插入』。(常用)
o, O 进入插入模式(Insert mode):
这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处插入新的一行』; O 为在目前光标所在处的上一行插入新的一行!(常用)
r, R 进入取代模式(Replace mode):
r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
上面这些按键中,在 vi 画面的左下角处会出现『–INSERT–』或『–REPLACE–』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔!
退出编辑模式,回到一般模式中(常用)
<b>第三部份:一般模式切换到指令行模式的可用的按钮说明</b>
<b>指令行的储存、离开等指令</b>
:w 将编辑的数据写入硬盘档案中(常用)
:w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~
:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ 这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!
:w 将编辑的数据储存成另一个档案(类似另存新档)
:r 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如
『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
<b>vim 环境的变更</b>
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!
特别注意,在 vi/vim 中,数字是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。
举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前,如我要向下移动 20 行呢?那就是『20j』或者是『20↓』即可

5. 文件查找文件替换
文件名查找
# 语法
      find 搜索路径 -name "文件名关键词"
# 例子
      find / -name "passwd"
      find / -name "ifcfg-*"

文件内容查找
# 语法
      grep -参数 要查找的目录范围
      # 参数
      -n 显示查找结果所在行号
      -R 递归查找目录下的所有文件
# 例子
      grep aries /etc
      grep aries /etc/passwd

文件批量替换(批量替换内容)
sed -i "s/abc/123/g" /var/www/test/index.html
例如将/var/www/test/index.html文件夹下的所有文件内容中的abc字符串换成123

6.文件链接
1.Linux文件管理
# 文件名
      该文件的名字
# inode
      该文件的元数据
# datablock
      该文件真正保存的数据
注意:
1、inode中保存的是文件的元数据
2、ls命令查看的都是linux的元数据信息
3、数据块中才是文件的真正数据
2.硬链接
ln 源文件 硬链接文件

3.软连接
ln -s 目标文件或文件夹 软连接名字


7.系统管理
# 静态查看系统进程
      ps -aux# 实时查看系统进程
      top
      # 快捷键
                ↑ 下翻
                ↓ 上翻
                q 退出# 关闭进程
      kill 进程id
# 强制关闭进程(谨慎使用)
      kill -9 进程id
8.输出
# 覆盖输出
# 将命令1的执行结果,输出到后面的文件中。
`覆盖写入`
      命令1 > 文件
# 例子
      date > date.log

# 追加输出# 将命令1的执行结果,输出到后面的文件中。
`追加写入`
      命令1 >> 文件
# 例子
      date >> date.log

9.管道# 管道# 语法,将命令1的输出结果,作为命令2的输入
命令1 | 命令2
# 例子
查找aries用户:cat /etc/passwd | grep -n “baizhi”
查找aries组:cat /etc/group | grep -n “baizhi”
查找sshd进程:ps -aux | grep sshd

用户组
相关命令
1. 创建组
`groupadd 组名`
2. 删除组
`groupdel 组名`
3. 查找系统中的组
`cat /etc/group | grep -n “组名”`
说明:系统每个组信息都会被存放在/etc/group的文件中


用户
1. 创建用户
`useradd -g 组名 用户名`
2. 设置密码
`passwd 用户名`
3. 查找系统账户
说明:系统每个用户信息保存在`/etc/passwd`文件中
4. 切换用户
`su 用户名`
5. 删除用户
`userdel -r 用户名`


权限
# 查看权限
ls -la 文件
ll 文件


# 设置文件所有者
语法:chown [-R] user名:group名 文件名
参数:-R 如果是文件夹,需要使用这个参数,可以将文件夹及其内部所有文件的所有者和组全部修改
注意:命令权限需要root
## 修改文件所有者
      chown 用户名 文件名
## 修改文件所属组
      chown :组名 文件名
## 修改文件所有者和所属组
      chown 用户名:组名 文件名
## 修改文件夹的所有者和所属组
      chown [-R] 用户名:组名 文件夹


# 权限设置1
语法:chmod u±rwx,g±rwx,o±rwx 文件名
运算符:
      - 删除权限
      + 添加权限
      = 赋值权限
## 给文件的所有者添加执行权限
chmod u+x 文件名
## 给文件的其他人删除所有权限
chmod o-rwx 文件名
## 给文件的所属组设置读写权限
chmod g=wx 文件名




# 权限设置2
# 文件的每个归属方的权限的值使用rwx之和计算出来的。
# 语法
      `chmod [-R] nnn 文件`
      -R 递归设置文件夹内所有文件
# 设置文件的权限为(所有者可读可写可执行,所属组可读可写,其他人可读)
      chmod 764 文件名


系统软件管理

压缩解压缩
压缩语法:tar -zcvf 压缩后文件名 被压缩文件
解压缩语法 tar -zxvf 压缩文件名 -C 解压后文件所在目录
参数1:
参数      描述
-z      操作tar.gz文件需要使用
-x      解压缩
-c      压缩
-v      显示压缩或者解压缩的执行过程信息
-f      要处理的文件file,必须放在最后

rpm软件
简介:类似于windows中的.exe程序
1. 安装rpm软件
语法:`rpm -ivh xxx.rpm`
2. 查看系统中是否已安装的过该rpm软件
语法:`rpm -qa 软件名`
3. 卸载rpm软件
语法:`rpm -e 软件名`
4. 例子:安装tree工具
作用:查看某个目录下的文件信息
# 以树状结构查看2层文件信息
tree -L 2 要查看的路径


yum
yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。
## 列出所有可以安装的软件包
      yum list
## 安装软件
      yum install -y 软件名
## 卸载软件
      yum remove 软件名
## 查找软件包
      yum search all 软件名


Linux服务
# 例如:sshd network firewalld 等
# 服务器管理命令
      systemctl status 服务名
# 启动服务
      systemctl start 服务名
# 重启服务
      systemctl restart 服务名
# 停止服务
      systemctl stop 服务名
# 禁止服务随linux启动。
      systemctl disable 服务名
# 设置服务随linux启动。
      systemctl enable 服务名


ip设置
服务名:network
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
----------------网卡对应的文件内容---------------------
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="none"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens33"
    UUID="0bd5d8a5-fe1b-42de-82bd-bfa7d2984b95"
    DEVICE="ens33"
    ONBOOT="yes"
    IPADDR="192.168.199.8" # 修改这里的ip地址即可
    PREFIX="24"
    GATEWAY="192.168.199.2"
    DNS1="192.168.199.2"
    DNS2="8.8.8.8"
    IPV6_PRIVACY="no"
# systemctl restart network #重启网卡服务


防火墙
服务名:firewalld
# 开启防火墙
systemctl stop 服务名
# 临时关闭防火墙
systemctl stop firewalld
# 禁止防火墙开机启动
systemctl disable firewalld


主机名
# 查看主机名
hostname
# 设置主机名
hostnamectl set-hostname 主机名


ip映射
域名解析

ssh
# 远程登录linux
ssh 远程linux的ip或者映射域名


免密登录
# 简介
ssh登录远程linux,免去输入密码的麻烦# 生成公钥和私钥
# ssh-keygen
------------执行结果-----------
    # tree .ssh
    .ssh
    ├── id_rsa # 私钥
    ├── id_rsa.pub # 公钥
    └── known_hosts
# 发送公钥
      `保存公钥的文件为/root/.ssh/authorized_keys`
# cat id_rsa.pub > authorized_keys
# 发送公钥
# ssh-copy-id 目标主机的ip


远程拷贝
scp 本地的文件 root@远程linuxip:/远程linux的文件路径
scp -r 本地的目录 root@远程linuxip:/远程linux的文件路径


必要软件安装
1.vim(vi编辑器增强版)
vim 文件


页: [1]
查看完整版本: Linux常用命令大全(详细版)