linux基础常用命令加示例

本文详细介绍了Linux系统中的各种命令,如文件管理(如ls、cp、mkdir等)、文档编辑(如echo、cat、vi)、系统管理(如find、RPM、ps等)、磁盘管理、文件传输(如rsync、scp、wget等)等,并讲解了chmod命令的作用和权限设置。通过分类学习,有助于理解和记忆这些命令的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分类学习

为了提高学习效率和增加linux命令的记忆,将命令分为九大类,更方便学习和查漏补缺,在之后复习的时候也能有重点。

文件管理
文档编辑
系统管理
磁盘管理
文件传输
网络通信
设备管理
备份压缩
其他命令
扩展:个人知识要点分享

文件管理

  • Is命令-显示目录中文件及其属性信息

  • cp命令-复制文件或目录

  • mkdir命令-创建目录文件

  • mv命令移动或改名文件

  • pwd命令示档前工作目录的路径

  • tar命令压缩和解压缩文件

  • cd命令切换目录

  • chmod命令-改变文件或目录权限

  1. ls - 列出当前目录下的文件和子目录:
    ls
    
  2. cd - 切换目录:
    cd /path/to/directory
    
  3. pwd - 显示当前工作目录的路径:
    pwd
    
  4. mkdir - 创建新目录:
    mkdir new_directory
    
  5. rm - 删除文件或目录:
    rm -r directory
    
  6. cp - 复制文件或目录:
    cp file.txt new_location/
    cp -r directory/ new_location/
    
  7. mv - 移动文件或目录:
    mv file.txt new_location/
    mv directory/ new_location/
    
  8. cat - 查看文件内容:
    cat file.txt
    
  9. grep - 在文件中搜索指定的模式:
    grep "pattern" file.txt
    
  10. find - 按照特定条件查找文件:
    find /path/to/search -name "*.txt"
    
  11. tail - 查看文件末尾的内容:
    tail file.txt
    

文档编辑

  • cat命令-在终端设备上显示文件内容

  • echo命令-输出字符串或提取后的变量值

  • rm命令-删除文件或目录

  • grep命令-强大的文本搜索工具

  • tail命令-查看文件尾部内容

  • rmdir命令-删除空目录文件

  • sed命令-批量编辑文本文件

  • vi命令-文本编辑器

cat命令 - 在终端设备上显示文件内容
cat filename.txt

cat 命令用于显示指定文件的内容。

echo命令 - 输出字符串或提取后的变量值
echo "Hello, World!"

echo 命令用于输出指定的字符串或变量的值。

rm命令 - 删除文件或目录
rm file.txt
rm -r directory

rm 命令用于删除指定的文件或目录。使用 -r 选项可以递归删除目录及其内容。

grep命令 - 强大的文本搜索工具
grep "pattern" file.txt

grep 命令用于在文件中搜索指定的模式。

tail命令 - 查看文件尾部内容
tail -n 10 file.txt

tail 命令用于查看文件的末尾内容。 -n 选项指定要显示的行数。

rmdir命令 - 删除空目录文件
rmdir empty_directory

rmdir 命令用于删除空目录。

sed命令 - 批量编辑文本文件
sed 's/old_string/new_string/g' filename.txt

sed 命令用于批量编辑文本文件,将文件中的指定字符串替换为新的字符串。

vi命令 - 文本编辑器
vi filename.txt

vi 命令是一个文本编辑器,用于编辑文本文件。

cat命令语法格式:cat 参数 文件名

image-20231202090548728

例子:查看指定文件的内容(想要显示行号就加上 -n)

[root@linuxcool ~]# cat anaconda-ks.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information
………………省略部分输出信息………………

注意:

在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head等,每个命令都有各自的特点。cat命令适合查看内容较少的纯文本文件。 对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按Ctrl+C组合键中断命令执行,所以对于大文件,干脆用more命令‍显示。

echo命令:输出字符串或提取后的变量值
echo命令的功能是在终端设备上输出指定字符串或变量提取后的值,能够给用户一些简单的提醒信息,亦可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息进行二次处理,还可以同输出重定向符一起操作,将信息直接写入文件。如需提取变量值,需在变量名称前加入$符号,变量名称一般均为大写形‍式。

语法格式:echo 参数 字符串或$变量名
image-20231202091020669

输出指定字符串到终端设备界面(默认为电脑屏幕):
[root@linuxcool ~]# echo LinuxCool
LinuxCool

image-20231202092720999

vi命令:文本编辑器

vi命令的功能是用于编辑文本内容,是Linux系统字符界面下最常用的文本编辑工具,能够编辑任何的ASCII格式文件,对内容进行创建、查找、替换、修改、删除、复制、粘贴等操作。编写文件时,无需担心目标文件是否存在,若不存在则会自动在内存中创建,随保存操作输出到硬盘中。
image-20231202092947952

系统管理

  • find命令-根据路径和条件搜索指定文件
  • rpm命令- RPM软件包管理器
  • ps命令-显示进程状态
  • startx命令-初始化X-windows系统
  • uname命令-显示系统内核信息
  • resize2fs命令-同步文件系统容量到内核
  • kill命令-杀死进程
  • useradd命令-创建并设置用户信息
1find命令 - 根据路径和条件搜索指定文件
find /path/to/search -name "*.txt"

该命令会在指定路径下递归搜索文件名匹配 *.txt 模式的文件。

2rpm命令 - RPM软件包管理器
rpm -qa | grep package_name

这个例子使用 rpm 命令来查询已安装的软件包列表,并通过 grep 过滤出特定软件包。

3ps命令 - 显示进程状态
ps aux | grep process_name

ps aux 用于显示所有进程的详细信息,通过 grep 过滤出特定进程名的信息。

4startx命令 - 初始化X-windows系统
startx

启动X-windows系统的命令,通常在终端中执行。

5uname命令 - 显示系统内核信息
uname -a

uname -a 会显示系统的内核版本、主机名等详细信息。

6resize2fs命令 - 同步文件系统容量到内核
resize2fs /dev/sdX

该命令用于将文件系统的大小同步到底层设备。请替换 /dev/sdX 为实际的设备名称。

7kill命令 - 杀死进程
kill -9 process_id

该命令用于强制终止指定进程,-9 表示使用强制方式。

8 useradd命令 - 创建并设置用户信息
sudo useradd -m -s /bin/bash new_user

创建一个新用户,并设置用户的主目录为默认目录,登录shell为bash。

磁盘管理

1. 查看磁盘信息

df 显示文件系统的磁盘空间使用情况

示例:df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   10G  8.6G  54% /

du 估算文件或目录的磁盘空间使用情况。

bashCopy code
du -h /path/to/directory
示例输出:

4.0K    /path/to/directory/subdir
8.0K    /path/to/directory
2. 磁盘分区和格式化
  • fdisk 分区工具,用于创建、删除和管理磁盘分区。

    sudo fdisk /dev/sdX
    
  • mkfs 用于格式化文件系统。

    sudo mkfs -t ext4 /dev/sdX1
    
3. 挂载和卸载磁盘
  • mount 将文件系统挂载到指定的挂载点。

    sudo mount /dev/sdX1 /mnt/mydisk
    
  • umount 卸载已挂载的文件系统。

    sudo umount /mnt/mydisk
    
4. 查看硬盘信息
  • lsblk 显示块设备的信息,包括磁盘和分区。

    lsblk
    

    示例输出:

    graphqlCopy codeNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   20G  0 disk 
    ├─sda1   8:1    0   10G  0 part /
    
  • fdisk -l 列出所有磁盘的详细分区信息。

    sudo fdisk -l
    
5. 磁盘修复
  • fsck 用于检查和修复文件系统。

    sudo fsck /dev/sdX1
    
6. 磁盘空间清理
  • dufind 用于查找和删除大文件或目录。

    du -h --max-depth=1 / | sort -rh
    
    bashCopy code
    find / -type f -size +100M -exec rm -rf {} \;
    

文件传输

1. 本地文件复制
  • cp 用于复制文件或目录。

    bashCopy code
    cp source_file destination
    

    示例:

    bashCopy code
    cp file.txt /path/to/destination/
    
  • mv 用于移动文件或目录(也可以用于重命名文件)。

    bashCopy code
    mv source_file destination
    

    示例:

    bashCopy code
    mv file.txt /path/to/destination/
    
  • rsync 同步文件和目录,支持本地和远程传输。

    bashCopy code
    rsync -av source/ destination/
    

    示例:

    bashCopy code
    rsync -av /path/to/source/ /path/to/destination/
    
2. 远程文件传输
  • scp 通过 SSH 安全地复制文件。

    bashCopy code
    scp source_file user@remote_host:/path/to/destination/
    

    示例:

    bashCopy code
    scp file.txt user@192.168.1.1:/path/to/destination/
    
  • sftp 通过 SSH 进行交互式文件传输。

    bashCopy code
    sftp user@remote_host
    

    在 sftp 中使用 put 命令上传文件。

3. 通过网络传输文件
  • wget 从网络下载文件。

    bashCopy code
    wget URL
    

    示例:

    bashCopy code
    wget https://example.com/file.txt
    
  • curl 类似于 wget,支持更多协议和功能。

    bashCopy code
    curl -O URL
    

    示例:

    bashCopy code
    curl -O https://example.com/file.txt
    
4. 传输大量数据
  • tar 用于归档和解压文件。

    bashCopy code
    tar -cvzf archive.tar.gz /path/to/source
    

    示例:

    bashCopy code
    tar -cvzf backup.tar.gz /home/user/documents
    
5. 其他文件传输工具
  • nc(netcat): 通过网络传输数据,可以用于文件传输。

    bashCopy code
    nc -l -p 1234 > received_file
    

    在接收端使用 nc,发送端使用 nc remote_host 1234 < source_file

网络通信

1. IP 地址和网络接口

  • ifconfigip 显示网络接口信息。

    ifconfig
    

    ip addr
    
  • ping 发送 ICMP 回显请求以测试主机的可达性。

    ping example.com
    
  • traceroutetracepath 跟踪数据包到目标主机的路由路径。

    traceroute example.com
    

    tracepath example.com
    
  • netstat 显示网络连接、路由表和接口统计信息。

    netstat -a
    
  • ss 显示套接字统计信息。

    ss
    
  • route 显示和管理 IP 路由表。

    route -n
    

2. 网络诊断

  • nslookupdig 查询域名系统 (DNS) 信息。

    nslookup example.com
    

    dig example.com
    
  • host 查询主机的 DNS 信息。

    host example.com
    
  • arp 显示和修改系统 ARP 缓存。

    arp -a
    
  • tcpdump 捕获和分析网络数据包。

    sudo tcpdump -i eth0
    
  • wireshark 图形化网络协议分析器。

    wireshark
    

3. 网络工具

  • curl 用于在命令行下传输数据。

    curl -O https://example.com/file.txt
    
  • wget 从网络上下载文件。

    wget https://example.com/file.txt
    
  • ssh 通过安全的 shell 连接到远程主机。

    ssh user@remote_host
    
  • scp 通过 SSH 安全地复制文件。

    scp file.txt user@remote_host:/path/to/destination/
    
  • nc(netcat): 通过网络传输数据。

    nc -l -p 1234 > received_file
    

    在接收端使用 nc,发送端使用 nc remote_host 1234 < source_file

设备管理

1. 查看硬件信息
  • lshw 列出系统中所有硬件设备的详细信息。

    sudo lshw
    
  • lsusb 列出连接到 USB 总线上的设备。

    lsusb
    
  • lspci 列出连接到 PCI 总线上的设备。

    lspci
    
2. 查看设备信息
  • udevadm 用于查看和管理设备信息。

    udevadm info -a -n /dev/sdX
    

    示例:

    udevadm info -a -n /dev/sda
    
3. 挂载和卸载设备
  • mount 将文件系统挂载到指定的挂载点。

    sudo mount /dev/sdX1 /mnt/mydisk
    
  • umount 卸载已挂载的文件系统。

    sudo umount /mnt/mydisk
    
4. 分区和格式化设备
  • fdisk 分区工具,用于创建、删除和管理磁盘分区。

    sudo fdisk /dev/sdX
    
  • mkfs 用于格式化文件系统。

    sudo mkfs -t ext4 /dev/sdX1
    
5. 查看挂载点信息
  • df 显示文件系统的磁盘空间使用情况,包括挂载点。

    df -h
    
6. 查看设备连接状态
  • lsblk 显示块设备的信息,包括磁盘和分区。

    lsblk
    

    示例输出:

    graphqlCopy codeNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   20G  0 disk 
    ├─sda1   8:1    0   10G  0 part /
    
7. 查看网络接口信息
  • ifconfigip 显示网络接口信息。

    ifconfig
    

    ip addr
    

备份压缩

1. 备份文件和目录

  • cp 使用 cp 命令可以简单地复制文件和目录。

    cp -r /path/to/source /path/to/destination
    
  • rsync 用于同步文件和目录,可以在本地和远程之间工作。

    rsync -av /path/to/source/ /path/to/destination/
    
  • tar 创建归档文件并可选地进行压缩。

    tar -cvzf backup.tar.gz /path/to/source
    

2. 压缩和解压缩

  • gzip 用于压缩文件。

    gzip file.txt
    
  • gunzip 解压缩 gzip 压缩文件。

    gunzip file.txt.gz
    
  • bzip2 用于更高效的压缩。

    bzip2 file.txt
    
  • bunzip2 解压缩 bzip2 压缩文件。

    bunzip2 file.txt.bz2
    
  • xz 使用 xz 算法进行压缩。

    xz file.txt
    
  • unxz 解压缩 xz 压缩文件。

    unxz file.txt.xz
    

3. 备份整个文件系统

  • dumprestore 用于备份和还原文件系统。

    sudo dump -0u -f /path/to/backup.dump /dev/sdX
    
    sudo restore -rf /path/to/backup.dump
    

4. 使用 dd 命令进行备份

  • dd 用于复制和转换文件。

    sudo dd if=/dev/sdX of=/path/to/backup.img bs=4M
    

    请注意,dd 命令强大而危险,务必谨慎使用。

5. 使用 find 命令进行定期备份

可以结合 find 命令和其他命令实现定期备份。

find /path/to/source -mtime -1 -exec cp {} /path/to/backup/ \;

上述命令将在最近一天内修改过的文件复制到备份目录中。

其它命令

chmod命令是一个常用的Linux/Unix命令,用于修改文件或目录的权限。它可以通过符号模式或数字模式来设置权限。

chmod [mode] file/directory
  • mode:用3位数字表示权限模式,其中每一位表示r(读取权限)、w(写入权限)和x(执行权限),分别对应的值为4、2和1。将这些值相加可以得到所需的权限模式。例如,755表示所有者具有读、写和执行权限,而所属组和其他用户只有读和执行权限。
例子:chmod 755 script.sh  # 设置文件的权限为rwxr-xr-x

文件权限由三组三位数表示,分别表示文件所有者、所属组和其他用户的权限

具体解析如下:

  • 第一组rwx表示文件所有者(Owner)的权限,即读、写和执行权限。
  • 第二组r-x表示所属组(Group)的权限,即只有读和执行权限,没有写权限。
  • 第三组r-x表示其他用户(Others)的权限,即只有读和执行权限,没有写权限。

所以,chmod 755 script.sh命令将文件script.sh的权限设置为rwxr-xr-x,即文件所有者具有读、写和执行的权限,所属组和其他用户具有读和执行的权限。

这样设置的权限允许文件所有者具有最高的权限,而所属组和其他用户只能读取和执行该文件,无法修改或删除。

懂了;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值