Linux命令

163 阅读11分钟

虚拟终端

  1. 虚拟终端切换:**ctrl+alt+fn **,其中n的值(1-6是字符界面,7是图形化用户界面)

  2. 在字符界面下,进入图形化界面命令:startx

字符界面

shell的简单命令

  1. 终端的输入结束:ctrl+d
  2. 终止程序:ctrl+c
  3. 注销:logout、关机:**shutdown –h **10、重启:shutdown -r now
  4. 查看系统时间:date
  5. 修改系统时间:date -s "2017-11-11 08:44:00"
  6. 显示日历calendar:cal
  7. 显示当前目录的绝对路径:pwd

注意:

  1. 绝对路径是指从根目录(/)开始到当前目录(文件)的路径
  2. 相对路径是指从当前目录到其下子目录(文件)的路径
  1. 切换到指定目录:cd

注意:

  1. 超级用户的主目录是/root
  2. 普通用户hellen的主目录默认就是/home/hellen
  3. 几个特殊目录的符号:
    • 当前目录:.
      • 上级目录:..
        • 上二级目录:../..
          • 用户主目录:~
  1. 显示指定目录中的文件和子目录信息:ls [选项] [文件|目录]

选项的值可以为:

  1. -a:显示所有文件及目录

    1. -l:详细列出文件名、权限、文件大小等信息
    2. -d:将目录像其他文件一样列出
    3. -R:递归列出子目录
  1. 清除当前终端的屏幕内容:clear
  2. 显示当前已登录到系统的所有用户名,及其终端名和登录到系统的时间:who
  3. 显示指定命令的手册页帮助信息:man
按钮作用
上下键向上下移动一行
PgDn或PgUp键前后翻阅
q键退出man命令
home或end第一页/最后一页

shell命令的高级操作

  1. 自动补全:当用户输入不完整命令时,系统会自动找出匹配的文件或命令的功能。

    实现:用Tab键。

    作用范围:

    ​ 1、自动补全文件或目录名

    ​ 2、自动补全命令名

  2. 历史记录:每个用户将曾执行过的Shell命令都保存在自己的主目录下.bash_history

实现:

  1. 用上下键查找

  2. history [数字]:查看Shell命令的历史记录。

  3. history –c:清除历史记录

  4. !序号 :执行指定序号命令

  5. !!:执行刚才命令

  1. 别名:别名是按照Shell命令的标准格式所写命令行的缩写

作用:减少键盘输入

格式:alias[别名="标准Shell命令行"]

功能:查看和设置别名

注意:

◆ 别名与标准命令同名时,别名优先;

◆ 在已定义别名的命令下,要使用同名的标准命令,

前方加“\”

设置别名时“=”两端不能有空格

◆ 当别名或命令中包含空格时,需单引号

◆ alias的设置仅在本次登录。若要每次登录都起作

用,可在**.bashrc**中设置命令的别名。而对所有用

户都有效的别名在**/etc/bashrc**中设置

  1. 删除已经创建的别名:unalias 命令别名
  2. 通配符:

(*1)通配符 **:代表任意长度的任何字符。

**(2)通配符? **:代表任何一个字符。

(3)字符组通配符[ ]、- 和**!**

​ ◆ **[ ]表示指定的一个字符范围,而[ ]**内的任意一个字符都用于匹配。

​ ◆ - 在[ ]内表示连接符。如[abc]*或[a-c]*

​ ◆ **!**表示不在这个范围之内的其他字符。

  1. 输出重定向:

    格式:命令>文件名

    注意:这个会覆盖原来的内容

  2. 附加输出重定向 :

    格式:命令>>文件名

    注意:这个不会覆盖原来的内容,而是添加在原来文件的后面

  3. 错误输出重定向

Shell中标准输出与错误输出是两个独立的操作。

◆ 程序的执行结果显示在屏幕上,而错误信息重定向到指定文件,使用“2>”符号。

◆ 程序的执行结果和错误信息都重定向到同一文件,使用“&>”符号。

  1. 切换用户身份:su [-] [用户名]
  2. 以root权限执行一个命令:sudo

文件和目录的基本操作

  1. 显示文本文件的内容:cat [选项] 文件列表

选项:

-n :在每一行前显示行号

  1. 一次性显示整个文件:cat filename
  2. 从键盘上创建一个文件:cat > filename ctrl+d结束文件的输入
  3. 将几个文件合并为一个文件:cat file1 file2 >file
  4. 分屏显示文本文件的内容:more [选项] 文件

  1. Enter键显示下一行内容

  2. 空格键显示下一屏的内容

  3. q键,则退出more命令

  4. b键往回翻一页

  5. 使用less命令也可以实现,而且less命令可以使用上下键来卷动文件,more命令不行

  1. 显示文本文件的开头/结尾部分:head/tail [选项] 文件

注意:

  1. 默认显示开头/结尾 10行
  2. head -20 file: 显示file文件的前20行
  1. 修改文件的时间、更多的时候被用来快速创建一个空文件:touch
  2. 管道:|
  3. 从指定文本文件或标准输出中查找符合条件的字符串:grep [选项] 字符串 文件列表

选项:

  1. 只显示不匹配的行: -v
  2. 忽略大小写:-i
  3. 显示行号:-n

字符串正则表达式:

  1. 匹配行开始:**^ ** 如:'^aa'
  2. 匹配行结束:**aa** 如:'aa'
  1. 从指定路径搜索满足表达式的文件和目录:find [路径] [表达式]

选项

-name 文件

-group 组群名

-user 用户名

-type 文件类型(d: 目录; f: 一般文件; l: 符号链接)

-size [+|-]文件大小(c表示字符数;k表示KB)

+n 是比 n 大;-n是比 n 小; n 正好是 n

-maxdepth n:最多搜索n层目录

-atime n:对文件的最近一次访问是在 n天之前。

  1. 对文件中的各行进行排序并显示:sort [选项] file

选项:

◆- r:按逆序输出排序结果。

+posl - pos2:指定关键字,字段从[posl,pos2)

字段从0开始;

◆**-k pos1[,pos2]:字段从[posl,pos2]字段从1开始;**

◆**-t 分隔符:指定字段的分隔符。默认是空格**

◆**-n:对数字进行排序**

  1. 显示文件内容,显示时删除连续重复的行:uniq [选项] file

选项:

  1. 只显示重复行:-d
  2. 只显示不重复行:-u
  1. 显示文本文件的行数、字节数和单词数:wc [选项]文件

选项:

  1. 显示行数:-l
  2. 显示字数:-w
  3. 显示单词数:-c
  1. 比较两个已排序过的文件,显示其结果:comm [-123] [file1] [file2]

选项:

◆**-1:不显示只在第1个文件里出现过的列**

◆**-2:不显示只在第2个文件里出现过的列**

◆**-3:不显示两个文件中相同的行**

  1. 找出两个文件的不同之处,不需要排序:diff [选项] 源文件/目录 目标文件/目录
  2. 复制文件或目录:cp [选项] 源文件/目录 目的文件/目录

选项:

-b(backup)、-f(force)、-r或-R(recursive)

  1. 移动或重命名文件或目录:mv [选项] 源文件/目录 目的文件/目录

选项:

-f(force):强制覆盖

-b:若同名则先备份原文件,再覆盖原文件

  1. 删除文件或目录:rm [选项] 文件或目录

选项:

选项:-f(force)、-r或-R(recursive)

注意:删除目录要用r选项

  1. 建立链接文件,默认建立硬链接:ln [选项] 原来文件 链接文件

选项:

-b(backup):若同名备份原文件

-s(symbolic):建立符号链接

  1. 创建目录:mkdir [选项] 目录

选项:

-m 访问权限

-p(parents):一次性创建多级目录

  1. 删除目录:rmdir [选项] 目录

注意:

rmdir只能删除空目录,要删除包含文件或子目录的目录,请用rm –rf进行。

文件权限

  1. 访问权限的表示法:
--- 0 --x 1 -w- 2 -wx 3 r-- 4 
r-x 5 rw- 6 rwx 7
  1. 修改文件的访问权限:

chmod [选项] 数字模式 文件

chmod [选项] 功能模式 文件

当选项为 -R 时:对当前目录下的所有文件与子目录进行相同的

权限改变

  1. 改变文件或目录的所属组群:chgrp [选项] 组群 文件/目录

选项:

-R:对指定目录的所有文件与子目录进行相同更改

-v:显示命令执行过程

  1. 改变文件拥有者,并可修改所属组:chown 文件拥有者[.组群] 文件

选项

-R:对指定目录的所有文件与子目录进行相同更改

-v:显示命令执行过程

  1. 更改默认访问权限:umask [选项] [掩码]

  1. 将多个文件或目录归档为tar文件,如果使用相关选项还可压缩归档文件:tar 选项 归档/压缩文件 [文件或目录列表]

选项:

选项说明:

-c: 创建归档/压缩文件

-C 路径:解压到指定目录下

-r:向归档/压缩文件追加文件和目录

-t:显示归档/压缩文件内容

-u: 更新归档/压缩文件

-x:还原归档/压缩文件

-v:显示执行过程

-z:采用gzip压缩/解压文件

-j:采用bzip2压缩/解压文件

-f:必需选项

  1. tar命令

  1. 压缩/解压缩文件。无选项时执行压缩操作。压缩后产生扩展名为.gz的压缩文件删除源文件gzip [选项] 文件|目录

选项:

-d(decompress)

-r:参数为目录时,递归压缩目录中的所有文件

-v:显示压缩比

  1. 压缩/解压缩文件。无选项时执行压缩操作。压缩后产生扩展名为.bz2的文件。删除源文件:bzip2 [选项] 文件

选项:

-d(decompress)、-v、-k(保存源文件)

注意:

bzip2只能压缩单个文件

  1. 可将多个文件归档后压缩。默认不删除源文件zip [选项] 压缩文件 文件列表

选项:

-m:压缩后删除源文件

-r:递归压缩目录中的文件

  1. 解压缩扩展名为.zip的压缩文件:unzip [选项] 压缩文件

选项:

-l:查看压缩包里面的文件

-d

目录:指定解压的目录

-n:不覆盖同名文件

-o:覆盖同名文件

管理用户命令

  1. 新建用户帐号,超级用户命令:useradd [选项] 用户名

选项:

-c 全名(comment)

-d 主目录(directory)

-e 有效期限(expire)

-g 组群ID|组群名 指定用户所属的主要群组

-u 用户ID(user)

-s 登录Shell

如果没有选项,将按系统默认值设置新用户信息

  1. 设置或修改用户的口令以及口令的属性。没有加用户名表示修改当前用户:passwd [选项] [用户]

选项:

-d 用户名(delete) //删除用户口令

-l 用户名(lock) //锁定用户账号

-u 用户名(unlock) //解除用户账号

-S 用户名(status) //显示账号的状态

  1. 修改用户的属性,超级用户命令usermod [选项] 用户名

选项:

-c 全名(comment)

-d 主目录(directory)

-g 组群ID或组群名 //指定用户所属的主要群组

-u 用户ID(user)

-l 用户名

  1. 删除指定用户帐号,超级用户命令userdel [-r] 用户名

选项:

-r(remove):系统不仅删除此用户帐号,还将删除用户的主目录

  1. 查看用户的UID、GID和用户所属组群的信息。没有选项,则显示全部信息。如果不指定用户,则显示当前用户的信息:id/groups [选项] [用户名]

  2. 新建组群,超级用户命令groupadd [选项] 组群名

选项:

-g 组群ID //指定GID

注意:

该组ID值必须是惟一的,且数值不可为负。

预设的最小值不得小于500。

只有root能用该命令

  1. 修改指定组群属性,超级用户命令:groupmod [选项] 组群名

选项:

-g 组群ID //指定GID

-n 组群名(name) //指定组群名

  1. 删除指定的组群,超级用户命令groupdel 组群名

注:若该群是一些用户的主要组群,则需要首先删除这些用户后,才能删除这个组群

  1. gpasswd [选项] 组群

gpasswd 组名:修改组密码

gpasswd –r 组名:删除组密码

gpasswd –a 用户名 组名:将某个用户加入组

gpasswd –d 用户名 组名:从组里删除用户

软件包管理

  1. 查询软件包的相关信息:rpm –q[选项] [软件包]

选项:

-a:查询已安装的所有软件包

-f 文件:查询指定文件所属的软件包

-l:查询指定软件包所包含的文件

-i:查询指定软件包的详细信息

  1. 安装RPM软件包:rpm –i[选项] 软件包文件

选项:

-v:显示安装过程

-h:用#来反映安装的进度

--replacepkgs :重复安装软件包

--test:只对安装进行测试,并不实际安装

--force:忽略软件包及文件的冲突

  1. 卸载RPM软件包:rpm –e 软件包

注:卸载软件包时,参数不能使用RPM软件包的完整文件名,只能使用软件名称或软件名称加上版本编号

  1. 升级RPM软件包。如果当前系统中未安装指定的RPM软件包则直接安装:rpm –U[选项] 软件包文件

选项:

-v:显示安装过程

-h:用#来反映安装的进度