ubuntu 下常用的命令(仅做记录)

1. vim 编辑器的常用命令

1.1 光标移动命令

  • gg :将光标移动到文件首。(敲代码时,添加头文件时使用)
  • `: 将光标移动到上次编辑处(添加完头文件,回到编辑处)
  • n G:将光标跳转到第n行 (修改BUG时使用)
  • G: 将光标移动到文件尾
  • n j :n代表代表移动行数,光标向下移动n行。 例如: 20 j 代表光标向下移动20行。
  • 0 (数字0): 将光标移动到行首
  • $ : 将光标移动到行末尾

1.2 复制命令

  • yy: 复制1行
  • n yy :赋值n行
  • y $ :从光标处复制到行尾

1.3 剪切命令

  • dd : 剪切光标所在行
  • n dd: 剪切光标所在行开始的n行
  • x: 剪切1个字符
  • n x: 剪切n个字符

注意:剪切命令实际上也可以作为删除命令使用。

1.4 粘贴命令

  • p :将复制或者剪切的内容粘贴到光标所在位置。
  • n p :将复制或者剪切的内容粘贴n次

1.5 撤销命令

  • u : 撤销1次
  • u n: 撤销n次
  • Ctrl + r: 撤销 u撤销的内容

1.6 查找命令

  • /查找内容 :
    - n : 查找下一个
    - N: 查找下一个

1.7 查看帮助手册及分屏

  • sp 文件名 : 分屏代开另外一个文件
  • v+m(光标停留在需要查询的函数处): 分屏打开需要查询函数的man 手册
  • Ctrl +w +w :在分屏间进行切换

1.8 可视模式

  • v :切换到可视模式
    - 可视模式下按 上下左右,选择可视的块代码
    - 可视模式下按 = 调整对齐

1.9 转换大小写

  • Shift + ~ : 转换光标处字母的大小写

1.10 调整字体大小

  • Ctrl + - : 将字体调小
  • Ctrl + Shift + + :将字体调大

1.11 添加注释

  • Ctrl + v 进入可视模式, 选中要添加注释的行
  • 按大写的I 进入插入模式 按两次 /
  • 按两次ESC, 此时所有选中的行加了注释

1.12 删除注释

  • Ctrl +v 选中需要删除注释的的注释符号。
  • 按delete 键删除

2. 文件相关

2.1 ls 命令 显示当前目录中的文件

常用的参数

  • ls -l:详细显示文件权限,所有者,修改时间,文件大小等信息。
    ls -l后显示的内容:第一位是文件类型(-普通文件、d目录、l链接……)接下来的9个数字3个为一组,共3组每组分别代表:文件所有者权限、与文件所有者同组的用户的组权限、其他用户的访客权限。内核看到的文件权限码是一个8进制数,例如0666。
  • ls -a:显示所有文件(包含隐藏文件,就是文件名第一个字符为『 . 』的文件)
  • ls -r:逆向显示文件
  • ls -R:递归地列举所有目录(在当前目录下)的所有内容

2.2 cd 进入某个目录

常用的参数:

  • cd …:返回上级目录
  • cd …/…:返回上两级目录
  • cd /:进入根目录
  • cd ~:进入用户工作目录

2.3 rm 删除文件或目录

  • rm 文件名:删除该文件
  • rm -f 文件名:删除该文件并不询问
  • rm -r 目录名:删除一个目录
  • rm -v 文件名:删除文件时会显示信息

注意:
常用rm -rf来删除某个目录和该目录下的所有子文件。

2.4 mv 移动文件或重命名文件

  • mv 源文件 目标文件:将源文件命名为目标文件
  • mv 源文件 目标目录:将源文件移动至目标目录(源文件可多个)
  • mv 源目录 目标目录:如果目标目录存在,则将源目录移动至目标目录;如果目标目录不存在,则重命名该目录为目标目录
  • mv -i 源文件 目标文件:将源文件命名为目标文件,如果目标文件名存在,则询问是否覆盖
  • mv -f 源文件 目标文件:将源文件命名为目标文件,如果目标文件名存在,则直接覆盖
  • mv * …:移动当前目录下所有文件到上级目录

2.5 cp 复制文件或将文件复制到目录

  • cp 源文件 目标目录:复制源文件到目标目录中(目标目录中无该源文件)
  • cp -a 源目录 目标目录:复制整个目录到目标目录
    -p :连同文件的属性一起复制,而非使用默认方式,常用于备份
    -i :若目标文件已经存在时,在覆盖时会先询问操作的进行
    -r :递归持续复制,用于目录的复制行为
    -u :目标文件与源文件有差异时才会复制

注意:
将自己的文件拷贝给他人时,需要更改文件所属用户组、文件所有者。

2.6 pwd:显示当前目录

2.7 mkdir:建立一个新的目录

2.8 rmdir:删除一个空的目录

  • rmdir 目录名:删除一个空目录。

注意:

  • 该目录必须是空的
  • 使用rm -rf可以代替rmdir,不过使用时容易误删该目录下的文件。

2.9 who 显示当前用户

2.10 cat 命令查看文件

  • cat file1: 在屏幕上显示文件ml的内容
  • cat file1 file2: 同时显示文件ml和m2的内容
  • cat -n file1: 为显示行添加行号

注意:
cat命令英文原意:concatenate and display files
功能描述:连接文件并打印到标准输出设备上

2.11 less more

  • more [文件名]
    (空格) 或f:显示下一页
    (Enter):显示下一行
    q或Q:退出

示例:

$ more /etc/services

注意:
less命令的用法与more命令类似,也可以用来浏览超过一页的文件。所不同的是less命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。

2.12 head tail

  • head [参数] <文件名>
    -n:显示前n行,不指定此参数显示前10行
[root@linux root]# head /etc/passwd
  • tail [参数] <文件名>
    -n:显示后n行,不指定此参数显示后10行
    +n:从第n行显示到文件尾
    -F:用于跟踪显示不断增长的文件结尾内容(通常用于显示日志文件)。

2.17 find命令

  • find 路径 [参数]
    -name filename :找出文件名为filename的文件
    -size [±]SIZE :找出比SIZE还要大(+)或小(-)的文件
    -tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO管道文件§;
    -perm mode :查找文件权限刚好等于mode的文件,mode用
    数字表示,如0755

2.13 grep命令

(Globally search a Regular Expression and Print)
功能:在文件中搜索匹配的字符并进行输出

  • grep[参数] <要找的字串> <要寻找字串的源文件>
    -a :将binary文件以text文件的方式查找数据
    -c :计算找到“查找字符串”的次数
    -i :忽略大小写的区别,即把大小写视为相同
    -v :反向选择,即显示出不包含‘查找字符串’内容的那一行

2.14 打包命令

tar(tape archive)命令能够将用户所指定的文件或目录打包成一个文件,
也可以通过指定参数开启压缩/解压缩功能

  • 格式:tar [参数] <文件>
    -c :新建打包文件
    -t :查看打包文件的内容含有哪些文件名
    -x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
    -j :通过bzip2的支持进行压缩/解压缩
    -z :通过gzip的支持进行压缩/解压缩
    -v :在压缩/解压缩过程中,将正在处理的文件名显示出来
    -f filename :filename为要处理的文件
    -C dir :指定压缩/解压缩的目录dir

2.15 ln 命令

功能:用于创建链接

  • ln file1 file2 : 为file1 文件创建一个硬链接
  • ln -s file1 file2: 为file1 文件创建一个软连接

3.网络相关

  • ifconfig :查看ip、子网掩码等

4. 进程控制类命令

4.1 ps命令

功能:ps命令是用来显示系统瞬间的进程信息,它可以显示出在用户输入ps命令时系统的进程及进程的相关信息。

  • ps [参数]
    l: 长格式输出
    u: 按用户名和启动时间的顺序来显示进程
    j: 用任务格式来显示进程
    f: 用树形格式来显示进程
    a: 显示所有用户的所有进程(包括其它用户)
    x: 显示无控制终端的进程
    r: 显示运行中的进程

4.2 top命令

功能:动态监视系统任务的工具,输出结果是连续的

  • top [参数]
    -b 以批量模式运行,但不能接受命令行输入
    -c 显示命令行,而不仅仅是命令名
    -d N 显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒
    -i 禁止显示空闲进程或僵尸进程
    -n NUM 显示更新次数,然后退出。比如 -n 5,表示top更新5次数据就退出
    -p PID 仅监视指定进程的ID;PID是一个数值
    -q 不经任何延时就刷新
    -s 安全模式运行,禁用一些效互指令
    -S 累积模式,输出每个进程的总的CPU时间

4.3 kill 命令

功能:该命令用于向某个进程(通过PID标识)传送一个信号,它通常与ps和jobs命令

  • kill –signal PID,

常用的signal参数如下:

  • 1:SIGHUP,启动被终止的进程
  • 2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
  • 9:SIGKILL,强制中断一个进程的进行
  • 15:SIGTERM,以正常的结束进程方式来终止进程
  • 17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行

4.4 killall 命令

功能:

  • killall命令使用进程的名称来杀死进程,使用此指令可以杀死一组同 名进程
  • 使用kill命令可以杀死指定进程PID的进程,如果要根据进程名称找到需要杀死的进程,还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一

格式与参数:

  • killall [参数] <正在运行的进程名>
    -e:对长名称进行精确匹配;
    -I:忽略大小写的不同;
    -p:杀死进程所属的进程组;
    -i:交互式杀死进程,杀死进程前需要进行确认;
    -l:打印所有已知信号列表;
    -q:如果没有进程被杀死。则不输出任何信息;
    -r:使用正规表达式匹配要杀死的进程名称; -
    s:用指定的进程号代替默认信号“SIGTERM”; -u:杀死指定用户的进程。

4.5 nice 命令

功能:nice 命令允许在默认优先级的基础上进行增大或减小的方式来运行命令

  • nice [参数] <command [arguments…]>
    command 是系统中任意可执行文件的名称
    -n, --adjustment 指定程序运行优先级的调整值
    注意:
    优先级的调整值范围为-20 ~ 19 ,其中数值越小优先级越高,数值越大优先级越低
    若 nice命令未指定优先级的调整值,则以缺省值10来调整程序运行优先级,既在命
    令通常运行优先级基础之上增加10

4.6 renice 命令

功能:改变一个正在运行的进程的nice值

  • renice [参数]
    -n:指定程序运行优先级的调整值
[root@host root]# renice -5 777
//将正在运行的PID为777的进程nice值改为-5

4.7 其他杂项

  • 进程的中止(挂起)和终止
    挂起(Ctrl+Z)
    终止(Ctrl+C)
  • 进程的恢复
    恢复到前台继续运行(fg)fg [n]
    恢复到后台继续运行(bg)bg [n]
  • 查看被挂起的进程(jobs)
  • lsof -i : 查看端口、运行的进程等信息

5. 用户及权限管理类命令

5.1 useradd

功能:新建用户帐号(超级用户可用)

  • useradd [参数] <用户名>
    -d 指定用户登入时的主目录
    -e 账号终止日期
    -g 指定账户所属的用户组
    -G 指定账户所属的附加组
    -s 指定账户登录后所使用的shell
    -u 指定用户ID号
举例:新建一个用户zhangsan,用户组为net04
useradd –g net04 zhangsan

5.2 passwd

功能:设置或修改用户的口令以及口令的属性

  • passwd [参数] <用户>
    -d 删除用户的口令
    -l 暂时锁定指定的用户帐号
    -u 解除指定用户帐号的锁定
    -s 显示指定用户帐号的状态
//设置与修改属性
passwd zhangsan
//删除口令
passwd –d zhangsan
//锁定/解锁用户帐号
passwd –l zhangsan
passwd –u zhangsan
//显示用户帐号状态
passwd –s zhangsan

5.3 usermod

功能:修改用户的属性(超级用户可用)

  • usermod [参数] <用户名>
    d 指定用户登入时的主目录
    -e 账号终止日期
    -g 指定账户所属的用户组
    -G 指定账户所属的附加组
    -s 指定账户登录后所使用的shell
    -u 指定用户ID号
    -l 新用户名(用于修改用户名)
//将zhangsan改为zhangs
usermod –l zhangs zhangsan

5.4 userdel

功能:删除指定的用户帐号(超级用户可用)

  • userdel [参数] <用户名>
    -r:不仅删除此用户帐号,而且删除用户主目录及本地邮件存储的目录
    或文件
    -f:删除用户登入目录以及目录中所有文件
    注意:
    如果删除用户属于私人组群,而该组群没有其他用户,组群也一并删除。
    正在使用系统的用户不能删除。

5.5 su

功能:切换用户身份

  • 格式:su <用户名>
    超级用户可以切换为任何普通用户,而不需要输入口令;
    普通用户转换为其他用户时需要输入被转换用户的口令;
    使用exit可以返回到本来的用户身份

5.6 id

功能:查看用户的UID、GID和用户所属用户组的信息,如果不指定用户,则显示当前用户的相关信息。

  • id <用户名>

5.7 whoami

功能:查看当前用户名

5.8 w

功能:查看当前登录系统用户和详细信息

5.9 groupadd

功能:新建组群(超级用户可用)

  • groupadd [参数] <用户组名>
    -g:指定用户组ID
    -o:允许组ID号不唯一

5.10 groupmod

功能:修改指定用户组的属性(超级用户可用)

  • groupmod [参数] <用户组名>
    -g:指定新的用户组ID
    -n:指定新的用户组名字
    -o: 允许组ID号不唯一

5.11 groupdel

功能:删除指定的用户组(超级用户可用)

  • groupdel <用户组名>

注意:在删除指定用户组之前必须保证该用户组不是任何用户的主要组群,否则要先删除以此用户组为主要组群的用户才可以删除该用户组

5.12 chmod 改变文件权限

  • chmod -R xyz 文件或目录:进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更。
  • chmod xyz 文件或目录:更改xyz文件或目录的权限。

注意:rwx 读写执行 分别是4 2 1 。

5.13 chown 更改文件所有者

  • chown 账号名称 文件或目录:更改文件或目录的所有者。
  • chown 账号名称:组名 文件或目录 更改文件或目录的所有者 和所属组。
  • chown -R 账号名称:组名 目录 递归改变目录中文件的所属者。
范例:将 initial-setup-ks.cfg 的拥有者改为 bin 这个账号:
[root@study ~]# chown bin initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 bin
users 1864 May 4 18:01 initial-setup-ks.cfg

范例:将 initial-setup-ks.cfg 的拥有者与群组改回为 root:
[root@study ~]# chown root:root initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 root root 1864 May 4 18:01 initial-setup-ks.cfg

5.14 chgrp 更改文件的所属组

  • chgrp [-R] 目录名或文件名: 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件、目录都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况。
    范例:
[root@study ~]# chgrp users initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 root users 1864 May
4 18:01 initial-setup-ks.cfg
[root@study ~]# chgrp testing initial-setup-ks.cfg
chgrp: invalid group:
`testing' <== 发生错误讯息啰~找不到这个群组名~
  • 搜索包:apt search 包名
//举栗子
apt search netfilter_queue
  • 查看头文件和库的路径
/usr/include, /usr/lib, /usr/lib64
posted @ 2020-03-22 17:45  江南又一春  阅读(506)  评论(0编辑  收藏  举报