Linux命令小纸条

压缩/解压

  • tar 压缩
  • 1
    $ tar -zcvf dst.tar.gz /src-dir
  • tar 解压
  • 1
    $ tar -xvf src.tar.gz
  • zip 压缩
  • 1
    $ zip -r dst.zip /src-dir
  • zip 解压
  • 1
    $ unzip src.zip -d .
  • .tar.gz 解压
  • 1
    2
    gzip -d xxx.tar.gz
    tar -xvf xxx.tar

scp

  • scp 上传
1
$ scp  -P port-number -rp host-path-src user@remote:/path-dst
  • scp 下载
1
$ scp -r user@remote:/path-src host-path-dst

进程管理

  • 查看进程信息(如:PID
1
$ ps -aux [| grep key-word]
  • 查看 线程-资源 使用情况
1
$ top -c -d 1

网络管理

  • 端口 占用情况
  • 1
    $ netstat -anp [| grep target-port]
  • 查看监听端口
    netstat
  • 扫描局域网内已经分配了哪些 ip
  • 1
    nmap -sP 192.168.1.0/24
    • 通过上述命令可以检测出整个192.168.1.0局域网内在用的主机 ip
  • 查看一台主机开放了哪些端口
  • 1
    nmap -PS host-ip

挂载/解挂

  • 解挂
1
$ sudo umount -l mount-dir
  • 挂载
1
2
3
4
5
6
# 查看挂载设备 /dev/sd?
$ sudo fdisk -l
# 需要时创建挂载点
$ mkdir mount-point-dir
# 挂载设备
$ sudo mount /dev/sd? mount-point-dir

快速查找

  • 文件名查找
1
$ find "name-string" find-path
  • 文件内容查找
1
$ grep -r -i "content-string" find-path

文件操作

  • 批量重命名(*.cpp全部变成*.c
1
2
# "\" 指代相同内容
$ rename -v s/\.cpp/\.c/ *

系统信息

  • 内核版本信息
  • 1
    $ uname -r

权限管理

  • 查看文件权限信息(注意文件夹和文件的区别)
1
2
3
4
5
6
7
$ ls -al
total 36
drwxrwxr-x 8 gary gary 4096 3月 17 15:19 .
drwxrwxr-x 4 gary gary 4096 3月 9 14:13 ..
drwxrwxr-x 3 gary gary 4096 3月 19 14:38 carControl
-rw-rw-rw- 1 gary gary 1029 3月 9 14:15 emergencyBrake.ino
[ 权限 ][link][拥有者][群组][文件容量][修改日期][ 文件名 ]

file permission

  • 修改文件rwx权限,常见的有:777(所有权限);666(可读写);用户可执行
1
2
$ sudo chmod 777 [-R] file-name
$ sudo chmod u+x file-name
  • 文件拥有者:群组
  • 1
    $ sudo chown owner:group file-name

磁盘管理

  • 查看所有磁盘信息(分区信息/设备号/容量)
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ sudo fdisk -l
    Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 0FB0B3E3-ECDE-4418-9524-FEC93395F2A7

    Device Start End Sectors Size Type
    /dev/sda1 2048 1050623 1048576 512M EFI System
    /dev/sda2 1050624 483579903 482529280 230.1G Linux filesystem
    /dev/sda3 483579904 500117503 16537600 7.9G Linux swap
  • 新建分区:n创建分区;t指定分区类型;w修改磁盘分区表;格式化分区
  • 删除分区:d删除分区;w修改磁盘分区表
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    $ sudo fdisk /dev/sdb 

    Command (m for help): m

    Help:

    DOS (MBR)
    a toggle a bootable flag
    b edit nested BSD disklabel
    c toggle the dos compatibility flag

    Generic
    d delete a partition
    F list free unpartitioned space
    l list known partition types
    n add a new partition
    p print the partition table
    t change a partition type
    v verify the partition table
    i print information about a partition

    Misc
    m print this menu
    u change display/entry units
    x extra functionality (experts only)

    Script
    I load disk layout from sfdisk script file
    O dump disk layout to sfdisk script file

    Save & Exit
    w write table to disk and exit
    q quit without saving changes

    Create a new label
    g create a new empty GPT partition table
    G create a new empty SGI (IRIX) partition table
    o create a new empty DOS partition table
    s create a new empty Sun partition table
  • 格式化分区
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # Linux: EXT3/EXT4
    # ext3 文件格式
    sudo mkfs.ext3 Partition
    # ext4 文件格式
    sudo mkfs.ext4 Partition
    # Window: FAT32(4G)/NTFS
    # fat32 文件格式
    sudo mkdosfs -F 32 Partition
    # ntfs 文件格式
    sudo mkfs.ntfs Partition

    # 分区标签
    sudo mlabel -i Partition ::label

编译&链接&装载

文章目录
  1. 1. 压缩/解压
  2. 2. scp
  3. 3. 进程管理
  4. 4. 网络管理
  5. 5. 挂载/解挂
  6. 6. 快速查找
  7. 7. 文件操作
  8. 8. 系统信息
  9. 9. 权限管理
  10. 10. 磁盘管理
  11. 11. 编译&链接&装载