常用的linux/unix系统命令

常用的linux/unix系统命令

  命令的格式,一般是:

  • 命令
  • [参数]
  • <文件/目录名>或者其他参数
  • 如:ls -dl run (查看run文件夹目录的详细结构)

文件目录类命令

浏览目录类命令

  • ls命令

    • list,显示当前文件夹下的文件及文件夹,用法ls -[参数] <目录名称>(位置可调)。常用参数:-a(显示徐所有文件夹下的文件及目录)、-l(现实详细的信息)、-d(查看当前目录下的文件目录属性,包括当前目录和上层目录
    • 查看run目录的详细信息:ls -l run
  • pwd命令

    • print working directory,显示当前的工作目录路径
  • 不同文件的文件类型和读写权限
    在这里插入图片描述

目录操作命令

  • cd命令
    • change directory,功能是切换目录,用法cd [目录]
    • 切换到根目录cd /
  • mkdir命令
    • make directory,创建新目录,用法mkdir [目录名]
    • 创建test目录:mkdir test
  • rmdir命令
    • remove directory,删除空目录(非空目录无法删除),用法rmdir [空目录]
    • 删除空目录test:rmdir test

浏览文件类命令

  • cat命令
    • concatenate and display files,意为连接文件并打印到标准的输出设备上,用法cat -[参数] <文件名>。常用参数:-E(在显示的每一行的后面自动添加一个$符号)、-n(在每一行的前面添加行号)
    • 显示一个文件:cat m1,显示多个文件(显示文件列表)cat m1 m2
  • more命令
    • 分页显示文件内容,当查看的文件内容过多时,使用more命令,用法more [文件名]。使用f、空格或者Enter按行显示,q或者Q退出。
  • less命令,和more命令的用类似,区被在于less命令可以通过上下键卷动文件
  • head命令
    • 显示文件的前几行内容,用法head -[参数] <文件名>,常用的参数:-n(显示前n行,不指定时显示10行)
    • 显示n.txt文件的前10行:head -10 n.txt
  • tail命令
    • 显示文件的后几行内容,用法tail -[参数] <文件名>,常用的参数:-n(显示后几行内容,不指定时显示后10行)、+n(从第n行显示到文件末尾)、-F(显示不断增长的文件末尾,一般用于显示日志文件)
    • 显示不断增长的日志文件末尾:tail -F log.txt

文件操作命令

  • cp命令
    • copy,文件复制命令,将文件从一处复制到另一处。一般在使用cp命令的时候,需要指定目标文件路径以及源文件路径。用法cp -[参数] <源文件路径> <目标文件路径>
    • 常用参数:-p(连同文件的属性一起复制,常用于备份)、-i(若目标文件已经存在,在覆盖时会先询问操作的执行)、-r(递归持续复制,用于目录的复制行为)、-u(目标文件与源文件有差异时才会复制)
    • 复制test目录到test1:cp -r test test1
    • 复制n.txt文件,覆盖k.txtcp -i n.txt k.txt
  • rm命令
    • remove,删除文件或者目录。用法rm -[参数] <文件/目录路径>,常用参数:-f(force,强制删除,忽略不存在的文件,不会出现警告消息)、-i(互动模式,删除前会询问用户是否操作)、-r(递归删除,用于目录删除)
  • find命令
    • 用来寻找文件或目录。用法find -[参数] 路径,常用参数:-name filename(找出文件名为filename的文件)、-size [±]SIZE(找出比SIZE还要大或者小的文件)、-type TYPE(查找文件的类型为TYPE的文件,TYPE的值主要有(f:一般文文件,b/c:设备文件,d:目录,l:连接文件,s:socket,p:FIFO管道文件))、-perm mode(查找文件权限刚好等于mode的文件,mode用数字表示,如:0755)
  • grep命令
    • globally search and Regular Expression and Print,在文件中搜索匹配的字符并且输出(应该是按行查找并输出)。用法grep -[参数] <要找的字符串> [要寻找字符串的源文件],常用的参数:-a(将文件以 text文件的方式查找数据)、-c(“查找字符串”的次数)、-i(忽略大小写区别,把大小写视为相同)、-v(反向选择,即显示出不包含查询字符串的其他内容)
    • 查找n.txt文件中的1:grep 1 n.txt
    • 查找n.txt文件中含有1的内容行数量:grep -c 1 n.txt
    • 查找n.txt文件中除了1之外的内容:grep -v 1 n.txt
    • 查找*.txt文件的1(*代表查找当前目录下所有text文件类型):grep 1 *.txt
  • tar命令
    • tape archive,将用户所指定的文件或者目录打包成一个文件,也可以通过指定参数压缩/解压缩,用法tar -[参数] <文件>,常用参数:-c(新建打包文件)、-t(查看打包文件的内容含有哪些文件名)、-x(解压缩,通过搭配-C指定解压缩的目录)、-j(通过bzip2的支持进行压缩/解压缩)、-z(通过gzip的支持进行压缩/解压缩)、-v(在压缩的过程中,将正在处理的文件名显示出来)、-f filename(filename为要处理的文件)、-C(指定压缩/解压缩的目录)
    • 把当前目录下的所有文件压缩成test.tar文件:tar -cvf test.tar *
    • 把test.tar文件解压:tar -xvf test.tar
    • 把当前文件下的所有文件以gzip的形式压缩:tar -czvf test.tar.gz *
    • 把test.tar.gz文件解压出来:tar -xzvf test.tar.gz
    • 查看当前压缩文件中有哪些文件名:tar -tf test.tar.gz
    • 解压到某一个文件夹下:
      1. 把压缩文件cp到某个文件夹
      2. 在该文件夹下解压缩

进程控制类命令

  程序和进程的区别:程序是包含代码的可执行文件;进程是操作系统把程序装载到内存中,并且分配一定的资源,此时是进程。
  程序是一个静态的概念,进程是一个动态的概念。

进程状态图
在这里插入图片描述

  • ps命令

    • 显示系统瞬间的进程信息,可以显示出用户输入ps命令时系统的进程以及进程的相关信息。用法ps -[参数],常用的参数:-l(长格式输出)、-u(按用户名和启动时间的顺序来显示进程)、-j(用任务格式显示进程)、-f(用树型格式显示进程)、-a(显示所有用户的所有进程)、-x(显示无控制终端的进程)、-r(显示运行中的进程)
    • 查找pp用户的进程:ps -aux | grep pp
  • top命令

    • 动态监视系统任务功能,输出结果是连续的。用法top -[参数]
    • 具体参数,百度

控制进程命令

  • kill命令
    • 向某个进程传送一个信号,用法kill -signal PID,执行kill -l查看那常用的signal参数
    • 杀死进程:kill -9 PID
    • 强制杀死进程:kill -KILL PID
  • killall命令
    • 杀死一组同名的进程。用法killall -[参数] <正在运行的进程名>,常用的参数自行百度
    • 杀死名称为game的进程:killall game
  • nice命令
    • 以更改过的优先序来执行程序,如果未指定程序,则会印出目前的排程优先序,内定的 adjustment 为 10,范围为 -20(最高优先序)到 19(最低优先序)。
    • 后台运行:vi &
    • 设置默认优先级:nice vi &
    • 设置优先级为19:nice -n 19 vi &
  • renice命令
    • 改变一个正在运行的进程的nice值。用法renice -[参数] <pid>,常用参数:-n(指定程序运行优先级的调整值)
    • 将vim的nice值改为9:renice -n 9 pid
      在这里插入图片描述
  • fg/bg
    • fg(将挂起的进程恢复到前台继续运行 fg [n])、bg(恢复到后台继续运行bg [n]), n是工作号,通过jobs查看挂起的进程

用户及权限管理类命令

  Linux的用户分为三类,超级用户、系统用户和普通用户。超级用户拥有最高权限;系统用户与系统服务相关,但是不能登陆;普通用户由超级用户创建并赋予权限,只能操作其拥有权限的文件和目录,只能管理自己启动的进程。

用户信息的组成

  一组用户信息由多部分组成,查看/etc/passwd文件,可以浏览用户的信息。
  口令字段用x填充,加密后的口令保存在/etc/shadow文件中。
  shadow文件只有超级用户才能查看并且修改以及加密存储。

  • 用户名:唯一,字母、数字、符号组成。
  • 口令:在passwd文件中以x表示。
  • 用户id(uid):每个用户都拥有一个唯一的识别号码。超级用户的id为0;系统用户的id在1-499范围;普通用户的id从500开始。
  • 用户组id(gid)
  • 用户主目录
  • 全称:用户账户的附加信息,可以为空。
  • 登陆Shell:默认为Bash

用户组

  • linux将相同特性的用户划分为同一个用户组,可以大大简化用户的管理,方便用户之间的文件共享,任何用户都至少属于一个用户组。
  • 一个用户只能属于一个用户组,但是可以同时属于多个附加组。用户不仅拥有其用户组的权限,还可以拥有其附加组的权限。
  • 用户组包括系统用户组私人用户组

  用户组的帐号信息group文件中,每一个行为一个组的信息,每一个组的信息字段代表的意思依次是:用户组名、口令、用户组id、附加用户列表(由下图可以看出,qemu不仅属于自己的组,还属于kvm的附加组用户)

在这里插入图片描述

  用户组的口令信息在/etc/gshadow文件中。

用户管理命令

  • useradd命令

    • 新建用户帐号(超级用户可用),用法useradd -[参数] <用户名>,常用参数:-d(用户登陆时的主目录)、-e(帐号终止日期)、-g(帐号所属用户组)、-G(帐号所属附加组)、-s(帐号登陆后所使用的shell)、-u(指定用户id号)
    • 创建zhangsan,指定用户组net4(net4必须已存在):useradd -g net4 zhangsan
  • passwd命令

    • 设置或者修改用户的密码,用法passwd [参数] <用户>,常用参数:-d(删除密码)、-l(锁定指定帐号使用)、-u(解除指定账户锁定)、-S(显示密码信息)、-x(设置密码的有效期)、-i(过期后停止使用账户)
    • 锁定zhangsan的帐号:passwd -l zhangsan
    • 解锁zhangsan的帐号:passwd -u zhangsan
    • 设置zhangsan密码(执行命令之后输入密码):passwd zhangsan
  • usermod命令

    • 修改用户的属性,用法usermod -[参数] <用户名>。常用参数同useradd命令的相同。-l(指定新用户名),用法usermod -l [新用户名] [旧用户名]
  • userdel命令

    • 删除指定的用户账户(超级用户可用),用法userdel [参数] <用户名>,常用参数:-r(不仅删除用户账户,并且删除用户主目录以及本地邮件存储的目录或文件)、-f(删除用户登入目录以及目录中的所有文件)
    • 如果被删除的用户属于私人组群,并且组群没有其他用户,则该组群也一并删除;正在使用系统的用户不能被删除。
  • su命令

    • 切换用户身份,用法su [用户名]
    • 超级用户可以切换成任何普通用户,而不需要输入指令;普通用户转化成其他用户的时候需要输入被转换用户的口令。
    • 使用exit可以返回到本来的用户身份。
  • id命令

    • 查看用户的UID、GID和用户所属用户组的信息,如果不指定用户,则显示当前用户的相关信息。用法id <用户名>
    • 查看当前用户的UID、GID等信息:id
    • 查看zs的UID、GID等信息:id zs
  • whoami命令

    • 查看当前用户名
    • whoami
  • w命令

    • 查看当前登陆系统用户和详细信息。
    • w

用户组管理命令

  • groupadd命令

    • 新建组群,用法groupadd -[参数] <用户组名>。常用参数:-g(指定用户组ID)、-o(允许组ID不唯一)
    • 创建一个zsgroup:groupadd -g 1101 -o zsgroup
      在这里插入图片描述
  • groupmod命令

    • 修改指定用户组的属性,用法groupmod -[参数] <用户组名>,常用参数:-g(指定新的用户组名)、-n(指定新的用户组名字)、-o(允许组Id不唯一)
  • groupdel命令

    • 删除指定的用户组,用法groupdel <用户组名>
    • 如果该组群是某些用户的主要组群,则需要先删除用户之后再删除组群。

文件权限

  • 读取权限:浏览文件/目录中内容的权限。
  • 写入权限
    • 对文件而言是修改文件内容的权限
    • 对目录而言是删除、修改、添加和重命名目录中的文件的权限。
  • 执行权限
    • 对可执行权限而言是允许执行的权限
    • 对目录而言是进入目录的权限

文件用户分类

  • 文件所有者:建立文件和目录的用户
  • 文件所有者所在组用户:文件所有者所属用户组中的其他用户
  • 其他用户:既不是文件所有者,又不是文件所有者所在组的其他所有用户
  • 超级用户:负责整个系统的管理和维护,拥有系统中所有文件的全部访问权限。

如下图是权限的表示方式

  • r:读

  • w:写

  • x:执行
    在这里插入图片描述

  • chmod命令

    • 修改文件的访问权限,用法chmod <模式> <文件>
    • 模式
      • 对象(u文件所有者、g同组用户、o其他用户)
      • 操作符:+增加、-删除、=赋予
      • 权限:r读、w写、x执行、s设置用户ID
    • 举例
      • 取消同组用户对file文件的写入权限:chmod g-w file
      • 将pict目录的访问权限设置为775:chmod 775 pict
      • 设置file文件用户id位:chmod u+s file
  • chown命令

    • 修改文件所有者,将指定文件的拥有者改为指定的用户或者用户组,用法chown [参数] <所有者/组> <文件> ...,常用参数:-c(显示更改的部分的信息)、-f(忽略错误信息)、-h(修复符号链接)、-R(处理指定目录以及其子目录下的所有文件)、-v(显示详细的处理信息)、-deference(作用于符号链接的指向,而不是链接文件本身)
    • 用户是用户名或者用户id,用户组可以是组名或者组ID
    • 文件是以空格分开的要改变权限的文件列表,支持通配符
    • 将文件ex1的所有者修改为hellen:chown hellen ex1
  • chgrp命令

    • 修改文件所属用户组,用法chgrp -[参数] <组> <文件>。常用参数与chown命令类似。–no-dereference 作用于符号链接本身。
    • 将ex1文件所属的用户组由root改为staff:chgrp staff ex1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值