linux常用命令

群组管理

  • addgroup friends

    • 创建
  • usermod

    • 修改用户账户
    • -l:对用户重命名,但是 /home 目录中的用户家目录名不会改变,需要手动修改
    • -g:修改用户所在群组。此用户的家目录里的所有文件的所在群组会相应改变
    • -a:追加
    • usermod -g friends dong
    • usermod -G friends,happy,funny dong
    • usermod -aG good dong
  • groups

    • 获知用户属于哪个群组
  • delgroup

    • 删除群组
  • chown

    • 改变文件的所有者
    • chown dong file.txt
  • chgrp

    • 改变文件的群组
    • chgrp dong file.txt
    • -R:递归
    • chown -R oscar:oscar /home/dong

权限管理

  • chmod
    • 修改访问权限

目录权限说明:

  • d:英语 directory 的缩写,表示“目录”。就是说这是一个目录;
  • l:英语 link 的缩写,表示“链接”。就是说这是一个链接;
  • r:英语 read 的缩写,表示“读”。就是说可以读这个文件;
  • w:英语 write 的缩写,表示“写”。就是说可以写这个文件,也就是可- 以修改;
  • x:英语 execute 的缩写,表示“执行,运行”。就是说可以运行这个文件。

文件访问权限:-rw-r--r--

    • 第一个短横表示这是一个普通文件。如果此处是 d,那么表示目录;如果是 l,那么表示链接等等;
  • rw- 表明文件的所有者(此处是 oscar)对文件有读、写的权限,但是没有运行的权限。也很好理解,因为这是一个普通文件,默认没有可执行的属性。记住:如果有 w 权限(写的权限),那么表明也有删除此文件的权限;

  • r-- 表明文件所在的群组(此处是 oscar)的其他用户(除了 oscar 之外)只可以读此文件,但不能写也不能执行,“可远观而不可亵玩焉”;

  • r-- 表示其他用户(除去 oscar 这个群组的用户)只可以读此文件,但不能写也不能执行。

  • 数字管理权限

    • r : 4 , w : 2 , x : 1
    • chmod 640 renamed_file
      • 文件所有者读写
      • 文件所在群组其他用户读
      • 除此以外其他用户无权限
权限 数字 计算
—— 0 0+0+0
r- 4 4+0+0
-w- 2 0+2+0
-x 1 0+0+1
rw- 6 4+2+0
-wx 3 0+2+1
r-x 5 4+0+1
rwx 7 4+2+1
  • 字母分配权限
    • u:user 的缩写,是英语“用户”的意思。表示所有者;
    • g:group 的缩写,是英语“群组”的意思。表示群组用户;
    • o:other 的缩写,是英语“其他”的意思。表示其他用户;
    • a:all 的缩写,是英语“所有”的意思。表示所有用户。
    • +:加号,表示添加权限;
    • -:减号,表示去除权限;
    • =:等号,表示分配权限。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#文件 file.txt 的所有者增加读和运行的权限。
chmod u+rx file.txt

#文件 file.txt 的群组其他用户增加读的权限。
chmod g+r file.txt

#文件 file.txt 的其他用户移除读的权限。
chmod o-r file.txt

#文件 file.txt 的群组其他用户增加读的权限,其他用户移除读的权限。
chmod g+r o-r file.txt

#文件 file.txt 的群组其他用户和其他用户均移除读的权限。
chmod go-r file.txt

#文件 file.txt 的所有用户增加运行的权限。
chmod +x file.txt

#文件 file.txt 的所有者分配读,写和执行的权限;
#群组其他用户分配读的权限,不能写或执行;
#其他用户没有任何权限。
chmod u=rwx,g=r,o=- file.txt
  • -R 参数:递归地修改访问权限

编辑

  • nano
    • -m 激活鼠标
    • -i 激活自动缩进
    • -A 激活智能Home
    • /etc/nanorc 配置文件
1
2
3
set mouse
set autoindent
set smarthome

软件相关

源文件:/etc/apt/sources.list

更新软件包缓存:sudo apt update

更新软件包:sudo apt upgrade

查询软件包: apt-cache show package_name

安装软件包: sudo dpkg -i *.deb

卸载:sudo dpkg -r xxx

安装手册

1
sudo apt-get install manpages-de  manpages-de-dev  manpages-dev glibc-doc manpages-posix-dev manpages-posix

apropos : 查找功能

查找文件

  • locate

    • locate renamed_file
    • 在数据库中查找
  • sudo updatedb

    • 更新文件数据库
  • find

    • find “何处”“何物”“做什么”
    • find /var/log -name “syslog”
    • find /var -size +10M
    • find /var -size -50k
    • find /var -size +20G
    • -type d :只查找目录类型。d 是 directory 的首字母,表示“目录”
    • -type f :只查找文件类型。f 是 file 的首字母,表示“文件”
  • grep 查找数据

    • grep text file
    • -i 参数:忽略大小写
    • -n 参数:显示行号
    • -v 参数:只显示文本不在的行
    • -r 参数:在所有子目录和子文件中查找
    • -E 参数:正则表达式 : grep -E Alias .bashrcegrep

流、输出重定向、输入、管道

  • > results.txt :将标准输出重定向到 results.txt 文件中

  • 2> errors.log :将标准错误输出重定向到 errors.log 文件中

  • 2>&1:将标准错误输出重定向到与标准输出相同的地方

    • cat not_exist_file.csv > results.txt 2>&1
    • cat not_exist_file.csv >> results.txt 2>&1
  • <:从文件中读取

  • <<:从键盘读取

    • sort -n << END END:结束符

管道符号 | 可以将命令连接起来,好像一个个对接的管道一样,前一个命令的输出成为后一个命令的输入

监视活动

  • w
  • date
  • uptime:运行时间
  • tload:负载变化
  • ps, ps -ef, ps -efH, ps -u user
  • ps -aux :通过 CPU 和内存使用来过滤进程
    • ps -aux | less
    • ps -aux --sort -pcpu | less 根据 CPU 使用率来降序排列
    • ps -aux --sort -pmem | less根据内存使用率来降序排列
    • ps -aux --sort -pcpu,+pmem | head将 CPU 和 内存 参数合并到一起,并通过管道显示前 10 个结果
  • pstree:以树形结构显示进程
  • top:进程的动态列表
  • Ctrl+C
  • kill
  • kill 程序名
  • halt:关闭系统
  • reboot:重启系统
  • poweroff:直接关机

  • at 命令:延时执行一个程序
    • at 22:10
    • at now +7 weeks : 7周后执行
  • atq:列出正在执行的at任务
  • atrm:删除正在执行的at任务
  • crontab:定时执行任务
    • -e:修改crontab文件
    • -l:显示crontab文件
    • -r:删除crontab文件
0%