zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    leetcode 78. 子集 JAVA
    leetcode 91. 解码方法 JAVA
    leetcode 75. 颜色分类 JAVA
    leetcode 74 搜索二维矩阵 java
    leetcode 84. 柱状图中最大的矩形 JAVA
    last occurance
    first occurance
    classical binary search
    LC.234.Palindrome Linked List
    LC.142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764134.html
Copyright © 2011-2022 走看看