kaixin
Published on 2023-07-09 / 66 Visits
0

Linux基础命令二

基础命令

1.rm命令

作用:
    删除文件或者文件夹
    # 这条命令非常危险

参数:
    -r 递归删除(文件还是文件夹都会删除)
    -f 强制删除(没有提示)

用法:
    rm 参数 文件/文件夹

2.cd命令

作用:
    目录切换命令,进入某个目录(文件夹)

用法:
    cd /etc/

3.pwd命令

作用:
    打印当前所在的文件目录

用法:
    pwd
    [root@shell network-scripts]# pwd
    /etc/sysconfig/network-scripts # 打印当前所在的目录路径

4.clear命令

作用:
    清屏
    
用法:
    clear

5.ls命令

作用:
    查看目录下的文件信息

参数:
    -a 查看目录下的隐藏文件
    -l 显示文件的详细信息(权限,文件大小,修改时间等)
    -d 查看文件本身
    -h 友好显示文件大小(可识别的)

用法:
    ls 参数 目录地址

6.cat命令

作用:
    查看文件内的内容

参数:
    -n 显示文件内的行号(空格也会显示)
    -b 不对空格显示行号
    -E 展示每一行尾部的$(默认尾部的$是看不到的,作用是区分每一行作为行结束的标记)

用法:
    cat 参数 文件

7.echo命令

作用:
    打印输出

参数:
    -e 允许反斜杠转义输出

用法:
    echo 参数 ${变量}
    

8.su命令

作用:
    用户切换命令

用法:
    su - 用户名
    su 用户名

# 注意带-与不带-的区别
    带-:会将用户的环境变量一同切换
    不带-:使用原用户的环境变量

image-20241103223059780


9.logout/exit命令

logout作用:
    退出用户命令

exit作用:
    退出当前bash进程

# 都可以作为退出用户的命令

10.hostnamectl命令

作用:
    修改主机名称

参数:
    set-hostname # 修改主机名称
    status # 显示主机名设置

用法:
    hostnamectl 参数 主机名称
    
[root@shell opt]# hostnamectl status
    Static hostname: shell
    Pretty hostname: SHELL
    Icon name: computer-vm
    Chassis: vm
    Machine ID: 55e2624ea3014e54905c3139acf2dc0a
    Boot ID: 5f95262596db43988d22d46f376b6ea9
    Virtualization: vmware
    Operating System: CentOS Linux 7 (Core)
    CPE OS Name: cpe:/o:centos:centos:7
    Kernel: Linux 3.10.0-1160.el7.x86_64
    Architecture: x86-64

11.hostname命令

作用:
    用来显示或者设置当前系统的主机名,主机名被许多网络程序使用,来标识主机。

参数:
    -a 参数主机名称别名(设置显示)
    -d 显示dns域名(设置显示)
    -I 显示主机的全部地址
    -i 显示主机的ip地址(组)(设置显示)

使用:
    hostname 参数 
    hostname 主机名 # 设置主机名称

[root@shell opt]# hostname -I
192.168.85.131 

12.uname命令

作用:
    查看内核信息

参数:
    -a 显示全部的内容(架构,内核等等)

使用:
    uname 参数

13.man命令

作用:
    查询命令的使用手册

使用:
    man 命令 # 显示命令的参数语法使用方式

14.tree命令

作用:
    让目录以属性结构展示
    
需要安装:yum install tree -y

参数:
    -s 显示大小
    -p 显示权限
    -N 显示中文名称
    -l 显示层级

用法:
    tree 参数 目录

image-20241103224752695


15.history命令

作用:
    查看历史使用命令,最大3000条

参数:
    -c 清空当前登录内存的命令
    -w 将当前登录内存使用的命令覆盖到 .bash_history文件中

使用:
    history 参数

16.alias命令

作用:
    给一条繁琐的命令起一个别名

使用:
    alias [别名]=[指令名称] # 声明命令的别名
    unalias 别名名称 # 删除别名

# 注意:
    声明的是临时的,退出后就会消失,如果想要持久化就需要在.bash_profile 或者/etc/profile设置
    

image-20241103225539898


17.rename命令

作用:
    批量替换文件名称

使用:
    rename 原内容 新内容 替换的文件(支持正则表达式)

比如:
    rename log html ./*.log 	# 将当前文件夹下的log后缀替换为html
    rename 's/\.sh/\.php/' *        #将当前目录下.sh后缀的文件,变成.php

image-20241103225825937


18.systemctl命令

作用:
    服务器命令

指令:
    stop 终止
    status 查看状态
    restart 重启
    start 启动
    
使用:
    systemctl 指令 服务

19.wget命令

作用:
    下载文件命令

参数:
    -c 断点续传下载文件
    -O 指定下载后的 路径/名称,会输出内容信息(下载速度,服务器相应)
    -b 后台下载,将标准输出到一个文件内容
    -o 指定下载 路径/名称,下载日志信息写入到指定文件中
    -d 输出大量的调试信息

使用:
    wget 参数 url

20.wc命令

作用:
    统计文本中的字数与行数,字节数 word count

参数:
    -l 统计行
    -w 统计单词数(按照空格计算每一个单词)
    -m 统计字符数(英文字母有多少就是多少)
    -c 统计字节数(utf-8 中文是3个字节 英文是1个字节包含特殊符号)

使用:
    wc 参数 文件

image-20241103232250137


21.du命令

作用:
    查看文件或者文件夹有多大

参数:
    -s 只查看目录文件总大小,不显示目录下其他文件大小
    -h 显示可读取的单位
    -a 递归显示全部文件的大小,最后包含显示当前目录的总和大小

使用
    du 参数 文件/文件夹

image-20241103232625223


22.find命令

作用:
    查询linux的文件,支持通配符好 
    通配符 *

参数:
    -type f 文件类型
    -type d 文件夹类型
    # 类型说明
        b - 块设备文件。
        d - 目录。
        c - 字符设备文件。
        p - 管道文件。
        l - 符号链接文件。
        f - 普通文件。
    -name 文件名称
    -o 是或者的意思,可以 -name 文件1 -o(或者) -name 文件2
    -a 且的意思 -name 文件1 -a(且) -name 文件2
    -size 按照文件大小找
    -maxdepth 设置寻找文件最大递归范围 maxdepth 3 找最大层级为3
    -perm 按照权限找
    -delect 根据find命令找到的文件删除
    -mtime 文件最后一次修改时间
    -atime 最后一次读取时间
    -ctime 最一次元数据修改时间(权限,文件类型等)

用法:
    find 目录 参数1 参数2 '查询的内容(文件还是文件夹)'

# 演示
    find /opt/ -name '*.html' 
        1./opt/:在 opt目录搜索
        2.'*.html':后缀为html

    find / -type d -name 'etc' 
        1./:在 / 目录搜索
        2.-type d:找文件类型
        3.'etc':文件名称为etc

    find /var -type f -size +1M  -name '*.log'  
        1./var:在 /var 目录搜索
        2.-type f:只查找文件
        3.-size +1M:大于1M
        4.-name '*.log':查找所有以 .log 结尾的文件。

    find /var -maxdepth 2 -type f   -name '*.log'
        1./var:在 /var 目录搜索
        2.-maxdepth 2:最大查询层级是2
        3.-type f:只查找文件
        4.-name '*.log':查找所有以 .log 结尾的文件。
    
    find /opt/ -perm 644  -name '*.html'
        1./opt:在 /opt 目录搜索
        2.-perm 644:文件权限是644
        3.'*.html':后缀为html

22-1.exec参数

作用:
    类似于加工参数,可以在find命令查询完毕文件后,在进行一步操作与命令管道符号类型
    需要再结尾加上 " {} \;" 作为命令的结束。
    {} :类似于接受了一个查询后的值。
    \; :作为命令结束。
    
用法:
    find 目录 参数 '查询内容' -exec 其他操作 {} \;
    
    # 这个其他操作,可以是删除,可以修改,可以查询等等操作。

# 演示
    find /opt -perm 644 -name '*.html' -exec ls -l {} \;
        1./opt:在 /opt 目录搜索
        2.-perm 644:权限是644
        3.'*.html':html结尾
        4. ls -l:查看当前搜索的内容的问津详情
    
    find /opt -type f -name '*.html' -exec rename html log {} \; 
        1./opt:在 /opt 目录搜索
        2.-type f:文件类型
        3.-name '*.html':html结尾
        4. rename html log:将html替换为log后缀
        
    find /opt -type f -name '*.log' -exec rm {} \;
        1./opt:在 /opt 目录搜索
        2.-type f:文件类型
        3.-name '*.log':log结尾
        4. rm :将文件删除
        

image-20241104230032083


22-2.ok参数

作用:
    与exec参数相同,但是比exec参数多了一项确认功能

使用:
    find 路径 参数 -ok 其他操作 {} \;

使用:
    find ~ -name "*.log" -ok rm {} \;
        1./~:在 /~ 目录搜索
        2.-type f:文件类型
        3.-name '*.log':log结尾
        4. rm :将文件删除

image-20241104230555049


22-3.时间查询参数

作用:
    使用find 命令找几天前的文件
    查找在指定时间曾被更改过的文件或目录,单位以24小时计算

参数:
    -mtime  文件最后一次被修改的时间
    -atime	最后一次读取文件的时间 
    -ctime 上次更改文件元数据的时间(如,所有权、位置、文件类型和权限设置)

使用:
    # 2天前  
    find / -name "*.log" -mtime +2 
    # 正好2天
    find / -name "*.log" -mtime 2 
    # 2天内
    find / -name "*.log" -mtime -2

23.ps命令

作用:
    查看系统进程命令

参数
    -f 格式化显示出进程的id号
    -e 显示全部的进程信息

使用
    ps -ef | 管道符号加工操作

24.netstat命令

作用:
    检查linux服务器的端口信息命令

参数:
    -t 列出 tcp协议
    -u 列出 udp协议
    -n 禁用域名解析功能,直接显示ip
    -l 列出全部监听套接字
    -p 查看进程信息id

使用
    netstat -tunlp | 管道符号加工操作

需要进行安装
    yum install -y net-tools 

25.stat命令

作用:
    查看文件/文件夹的详情信息,是否被人访问篡改等
   
使用:
    stat 文件名称/文件夹

# 关于access属性
    Access 指最后一次读取的时间,当“该文件的内容被取用”时,就会更新这个读取时间,比如cat、more、less、grep,vim。
    使用cat去读取一个文件时,就会更新该文件的Access time。

# change属性
    Change 指最后一次修改文件属性的时间 ,当该文件的“状态”改变时,就会更新这个时间。
    也就是说,当文件的权限与属性被更改时,就会更新这个时间。
    比如当用chmod、chown、mv命令修改了文件的属性。
    # 文件属性:权限 创建者 文件名字
    
# modify属性
    modify意思是修改、更改、写入。ls -l 看到的默认是最近一次被modify的时间。
    Modify 指最后一次修改数据的时间,当该文件的“内容数据”更改时,就会更新这个时间。
    内容数据指的是文件的内容,会影响文件的大小变化,大小也是文件属性的一部分,那么就会导致modify 与 change 同时变化。

image-20241104233128864


26.ln命令

作用:
    在文件之间建立管理,相当于windows中得快捷方式,除了给PATH环境变量中添加路径,最为快捷的方式。

命令:
    ln -s 原文件路径文件 目标文件路径 # 设置软连接,类似于windows的快捷方式
    ln 原文件路径文件 目标文件路径 # 设置硬链接,使用同一个nodeid

软连接与环境变量区别:
    1.环境变量将整个文件夹添加,如果命令相同,那么就会出现重复的情况
    2.软连接,将执行文件的快捷方式添加,这个快捷方式指向的是可执行文件的路径
 
软连接与硬链接的区别:
    软连接相当于设置一个快捷方式,是可以跨"文件系统","指向目录"。
    硬链接只能对文件操作,"不能夸分区","使用的是一个inode号",类与一个普通的文件,但是执行同一个inode号。


使用:
    ln -s /opt/123.log /tmp/123.log # 如果软连接文件那么需要指定文件名称
    ln -s /opt/log /tmp/ # 如果软连接文件夹,不需要进行指定文件名称的
    
    ln /opt/123.log /tmp/123.log # 硬链接,只能链接文件。

image-20241104234650016


27.which命令

作用:
    查找环境变量中的文件,环境变量中大多使用ln软连接设置快捷方式,当前命令可以搜索到当前快捷文件

使用:
    which 命令

28.环境变量命令

1.env
    查看当前登录用户的环境变量
    
2.set
    查看系统全局的环境变量

与windows系统的环境变量的相同

image-20241104234919307


29.file命令

作用:
    查看文件夹与文件的类型,文件必须有内容,不然无法判断

使用:
    file 文件/文件夹名称

30.sort命令

作用:
    对文件的内容进行排序使用

参数:
    -n 根据字符串的值排序(字符串为数字)
    -r 逆向
    -u 去重

使用:
    sort 文件名称

31.uniq命令

作用:
    对文件的内容进行去重,先排序在去重

参数:
    -c 统计重复值得数量

使用:
    uniq 文件名称
    sort 123.log | uniq -c 

32.dig/nslookup命令

作用:
    进项域名解析到ip地址

1.dig
    dig baidu.com

2.2.nslookup (name server look up 名称服务器查找,域名查找)
    nslookup baidu.com
    
    存在两种方式:
        1.交互,直接输入命令不带域名
        2.非交互,带域名

33.shred命令

作用:
    粉碎文件

使用
    shred 文件

# rm命令 删除文件,是可以恢复的,现在文件系统,都是日志型系统(操作,都会被系统监控,录制,做了个备份)
# rm删除数据后,磁盘没有立即删除,根据磁盘恢复手段是可以恢复的。
使用这条命令处理后的文件,内部数据就会变为二进制无法使用。

image-20241104235902932


34.scp命令

作用:
    安全的,远程传输,基于ssh协议认证传输,机器1,要传文件给机器2,`需要进行ssh的账户密码认证`,相当于ssh登录其他人的机器

参数:
    -r 递归传输,如果传输的是文件

使用:
    scp 文件/文件夹 root@ip:目标路径 # 文件/文件夹到指定ip的路径下
    scp root@ip:目标路径 文件夹 # 将指定ip路径下的内容获取到本地文件夹下

35.ssh命令

作用:
    用于远程登录主机命令

使用:
    ssh  用户名@ip地址:端口
    ssh -p 端口号 用户名@ip地址

36.curl命令

作用:
    是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。

参数:
    -o 存储文件的名称 /目录/文件名称 (自定义路径与文件名)
    -O 将文件写入到远程文件的文件名 (使用远程文件名)
    -I 查看访问的请求头

用法:
    发送GET请求并打印响应:
        curl <URL>
        例如:curl https://www.example.com

    发送POST请求并传递表单数据:
        curl -X POST -d "param1=value1&param2=value2" <URL>
        例如:curl -X POST -d "username=admin&password=123456" https://www.example.com/login

    发送POST请求并传递JSON数据:
        curl -X POST -H "Content-Type: application/json" -d '{"key1":"value1","key2":"value2"}' <URL>
        例如:curl -X POST -H "Content-Type: application/json" -d '{"name":"John","age":30}' https://www.example.com/api

    下载文件:
        curl -O <URL>
        例如:curl -O https://www.example.com/file.txt 将会下载file.txt到当前目录。

    发送带有认证的请求:
        curl -u username:password <URL>
        例如:curl -u admin:123456 https://www.example.com/private

    设置请求头:
        curl -H "HeaderName: HeaderValue" <URL>
        例如:curl -H "Authorization: Bearer token123" https://www.example.com/api

    跟踪重定向:
        curl -L <URL>
        例如:curl -L https://www.example.com

    显示请求和响应头:
        curl -i <URL>
        例如:curl -i https://www.example.com

    显示响应信息
        curl -I <URL>

37.ldd命令

作用:
    显示共享库的依赖情况,如果缺失,就需要进行安装
    
使用
    ldd 命令
    
可以通过查看缺失的依赖进行yum apt 等进行搜索安装
    yum search xxx
    apt search xxx

38.管道符号作用

作用:
    对命令进行二次加工
    将前一个命令的输出结果,作为管道符分割的下一条命令的就以第一个命令的输出结果为基础进行筛选,以此类推。"只要命令有输出结果,那么就可以配合管道符在进行2次加工..."

使用:
    命令1 | 命令2 (命令2就会加工命令1的结果获取最终内容)
    命令1(必须要有输出结果一段文本内容) | 命令2(根据命令1输出结果进行二次加工)

管道符的定义: 图1
    管道是一种通信机制,通常用于进程之间的通信。
    他表现出来的形式将 前一个进程的输出(stdout) 直接作为下一个进程的输入(stdin)

例如:
    netstat -tunlp | grep 80 # 筛选出80端口

image-20230826232453247


38-1.xarge命令

作用:
    管道符的用法就是对"第一条命令"执行的字符串文本结果进行二次加工
    如果实现对"第一条命令"执行的字符串进行二次处理就需要使用xarge
    被称为管道命令,构造参数命令

使用
    命令1 | xargs -i 其他命令 {} # 与fild -ok -exec命令类似

参数:
    -i 用{}带传递数据{}就是命令1执行的每条结果的别名

比如:
    find /opt/ -type f -name '*.log' | xargs -i rename log html {} 
    与是相同意思。
    find /opt/ -type f -name '*.log' -exec rename log html {} \;