Linux 基本命令总结

Posted 如松茂矣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 基本命令总结相关的知识,希望对你有一定的参考价值。

文章目录

文件权限与目录管理

  1. ls:查看文件的指令,重点在于显示文件名及相关属性。可以使用 ll 或者 ls -l
    来显示一个文件的属性以及文件所属的用户和组;而 ls -al 则表示列出所有的文件的权限与属性(包括隐藏文件

  2. chgrp [-R] 组名 文件名:改变文件所属群组,-R 表示递归更改,即在更改某个目录文件的属组时,-R
    参数会将该目录下的所有文件的属组都更改

  3. chown [-R] 所有者 文件名:改变文件拥有者,还可以顺便直接修改群组的名称:chown [-R] 所有者:组名 文件名

  4. chmod:改变文件的权限,权限的设定方法有两种,数字或者符号。Linux 文件的基本权限有 9 个,分别是 owner/group/others 三种身份各自的 read/write/execute(r/w/x) 权限,各个权限的分数为

    r: 4
    w: 2
    x:1

    例如当权限为 -rwxrwx--- 时,对应的分数为


    owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others = — = 0

    那么相应的变更权限的命令则为 chmod [-R] 770 文件名

    符号设定则由 u, g, o 来分别代表 owner/group/others 的权限,此外 a 则代表全部的身份,利用“算术运算” +/-/= 来进行权限的增删改。例如我们要设定一个文件的权限成为 -rwxr-xr-x 时,相应的命令为

    chmod u=rwx,go=rx 文件名

    如果现在我们只想增加某个文件的每个人均可写入的权限,那么就可以使用

    chmod a+w 文件名

  5. cd 相对路径或绝对路径:切换工作目录

  6. mkdir [-mp] 目录名称:建立新目录。-p 参数可以帮助我们递归创建多层目录

  7. pwd [-P]:显示目前所在目录。-P 参数显示出实际的目录,而非链接路径

  8. rmdir [-p] 目录名称:删除空目录,-p 参数可以一次删除多级空目录

  9. cp 来源档 目标档:复制文件或目录

  10. rm [-fir] 文件或目录 移除文件或目录。-f 忽略不存在的文件,不会出现警告信息;-i 在删除前或询问使用者是否确认删除;-r 递归删除

  11. mv [-fi] 来源档 目标档:移动文件与目录。-f 表示如果目标文件已经存在,不会询问而是直接覆盖;-i 则会在目标文件已经存在时询问是否覆盖

  12. basename 路径:取得路径的文件名

  13. dirname 路径:取得路径的目录名称

  14. cat:由第一行开始显示文件内容

  15. tac:从最后一行开始显示

  16. nl:显示的时候输出行号

  17. more:一页一页的显示文件内容

  18. less:与 more 相似,但可以向前翻页

  19. head:只看头几行

  20. tail:只看最后几行

  21. touch [-acdmt] 文件:修改文件时间或创建空文件

    每个文件在 Linux 下有 3 个主要的变动时间:
    modification time(mtime):当该文件的内容数据变更时,就会更新该时间;
    status time(ctime):当该文件的状态,即权限或者属性改变时,就会更新该时间;
    access time(atime):当该文件的内容被取用(文件读取命令)时,就会更新该时间

    -a:仅修改 atime;
    -c:仅修改文件的时间,若该文件不存在则不建立新文件;
    -d:后面可接任意日期而不是当前日期;
    -m:仅修改 mtime
    -t:后面可接任意时间而不是当前时间,格式为 [YYYYMMDDhhmm]


用户和用户组管理

  1. useradd 用户名:添加新的用户账号
  2. userdel 用户名:删除账号
  3. passwd 用户名:指定和修改用户口令

  4. groupadd 用户组:增加一个新的用户组
  5. groupdel 用户组:删除一个已有的用户组
  6. groupmod 用户组:修改用户组的属性。-g GID 为用户组指定新的组识别号;-n 将用户组的名字改为新名字

磁盘管理

  1. df [-ahikHTm] 目录或文件名:列出文件系统的整体磁盘使用量

    -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
    -k :以 KBytes 的容量显示各文件系统;
    -m :以 MBytes 的容量显示各文件系统;
    -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
    -H :以 M=1000K 取代 M=1024K 的进位方式;
    -T :连同该 partition 的 filesystem 名称 (例如 xfs) 也列出;
    -i :不用磁盘容量,而以 inode 的数量来显示

  2. du [-ahskm] 目录或文件名:评估文件系统的磁盘使用量

    -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已;
    -h :以人们较易读的容量格式 (G/M) 显示;
    -s :列出总量而已,而不列出每个各别的目录占用容量;
    -S :不包括子目录下的总计,与 -s 有点差别。
    -k :以 KBytes 列出容量显示;
    -m :以 MBytes 列出容量显示;

  3. fdisk [-l] 装置名称:列出分区信息。-l 表示输出后面接的装置所有的分区内容。若仅有 fdisk -l 时,则会把整个系统内能够搜寻到的装置的分区都列出来
  4. mkfs [-t 文件系统格式] 装置文件名:文件系统格式化
  5. fsck [-t 文件系统] [-ACay] 装置名称:检查和维护不一致的文件系统
  6. mount 装置文件名 挂载点:磁盘挂载
  7. umount 装置文件名或挂载点:磁盘卸载

文件系统的压缩与打包

  1. gzip [-cdtv#] 文件名

    -c :将压缩的数据输出到屏幕上,可透过数据流重导向来处理;
    -d :解压缩的参数;
    -t :可以用来检验一个压缩文件的一致性,看看文件有无错误;
    -v :可以显示出原文件/压缩文件案的压缩比等信息;
    -# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6

  2. zcat/zmore/zless:对应于 cat/more/less 的方式来读取纯文本档被压缩后的压缩文件

  3. bzip2 [-cdkzv#] 文件名

    -c :将压缩的过程产生的数据输出到屏幕上!
    -d :解压缩的参数
    -k :保留源文件,而不会删除原始的文件!
    -z :压缩的参数 (默认值,可以不加)
    -v :可以显示出原文件/压缩文件案的压缩比等信息;
    -# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

  4. bzcat/bzmore/bzless

  5. xz [-dtlkc#]

    -d :解压缩
    -t :测试压缩文件的完整性,看有没有错误
    -l :列出压缩文件的相关信息
    -k :保留原本的文件不删除
    -c :同样的,将数据由屏幕上输出
    -# :同样的,压缩比参数

  6. xzcat/xzmore/xzless

  7. tar:将多个目录或文件打包成一个大文件

    压缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
    查询:tar -jtv -f filename.tar.bz2
    解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

    -c :建立打包文件,可搭配 -v 来察看过程中被打包的档名 (filename);
    -t :察看打包文件的内容含有哪些档名;
    -x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开,特别留意的是, -c, -t, -x 不可同时出现在一串指令列中;
    -z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
    -j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
    -J :透过 xz 的支持进行压缩/解压缩:此时档名最好为 *.tar.xz,特别留意, -z, -j, -J 不可以同时出现在一串指令列中;
    -v :在压缩/解压缩的过程中,将正在处理的文件名显示出来;
    -f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项;
    -C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

grep 命令用于查找文件里符合条件的字符串或正则表达式。如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。

语法:

grep [options] pattern [files]
grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

-i:忽略大小写进行匹配。
-v:反向查找,只打印不匹配的行。
-n:显示匹配行的行号。
-r:递归查找子目录中的文件。
-l:只打印匹配的文件名。
-c:只打印匹配的行数。


Vim 编辑器

Vim 共分为 3 种模式,分别是一般模式、输入模式和命令模式,三种模式的切换如下图所示:

vim 键盘图:

Linux的基本命令总结

一、Linux权限的概念 
Linux下有两种用户:普通用户和超级用户()。 
普通用户:在linux下做有限的事情; 
超级用户:可以在linux系统下做任何事情,不受限制。 
普通用户的提示符是“$”,超级用户的命令提示符是“#”。 
命令: su [用户名] 
功能:切换用户 
Linux权限管理 
1.文件访问者的分类(人) 
文件和文件目录的所有者:u—User 
文件和文件目录的所有者所在的组的用户:g—Group 
其他用户:o—Others 
2.文件访问权限的种类 
基本权限: 
read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录信息的权限。 
write 对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录内文件的权限。 
execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。 
- 表示不具有该权限。 
3.文件权限值得表示方法 
r– 只读 
-w- 仅可写 
–x 仅可执行 
rw- 可读可写 
-wx 可写可执行 
r-x 可读可执行 
rwx 可读可写可执行 
— 无权限 
二、Linux下基本命令 
1.ls命令: 
格式::ls [选项] [目录或文件] 
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。 
常用选项: 
-a :列出目录下的所有文件,包括以 . 开头的隐含文件。 
-d :将目录像文件一样显示,而不是显示其他文件。 
-i :输出文件的i节点的索引信息。 
-k :以k字节的形式表示文件的大小。 
-l :列出文件的详细信息。 
-n :用数字的UID,GID代替名称。 
-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。 
2.cd命令 
格式:cd [目录名称] 
常用选项: 
cd .. 返回上一级目录。 
cd ../.. 将当前目录向上移动两级。 
cd - 返回最近访问目录。 
3.pwd命令 
格式: pwd 
功能:显示出当前工作目录的绝对路径。 
4.touch命令 
格式:touch[选项] 文件名… 
功能:touch命令参数可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。 
常用选项: 
-a 仅改变指定文件的存取时间。 
-c 或–no-creat 不创建任何文件。 
-m 仅改变指定文件的修改时间。 
-d 使用指定的日期时间,而非现在的时间。 
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 
5.mkdir命令 
格式:mkdir [选项] dirname… 
功能:mkdir命令用来创建目录。 
常用选项: 
-p –parents 可以是一个路径名称。此时若路竞争的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。 
-m –mode=MODE 将新建目录的存取权限设置为MODE,存取权限用给定的八进制数字表示。 
6.rm命令 
格式:rm [选项] 文件列表 
功能:rm命令删除文件或目录。 
常用选项: 
-f –force 忽略不存在的文件,并且不给出提示信息。 
-r -R,–recursive 递归地删除指定目录及其下属的各级子目录和相应的文件。 
-i 交互式删除文件。 
说明:rm命令删除指定的文件,默认情况下,它不能删除目录。如果文件不可写,则标准输入是tty(终端设备)。如果没有给出选项-f或者–force,rm命令删除之前会提示用户是否删除该文件;如果用户没有回答y或者Y,则不删除该文件。 
7.rmdir命令 
格式:rmdir [选项] dirname 
功能:删除目录。 
常用选项: 
-p –parents 递归删除目录 dirname,当子目录删除后其父目录为空时,也一同被删除。如果有非空的目录,则该目录保留下来。 
8.man 命令 
格式:man [选项] 命令 
功能:man命令格式化并显示某一命令的联机帮助手册页。 
常用选项: 
-k 根据关键字搜索联机帮助。 
num 只在第num章节找。 
-a 将所有章节的都显示出来。 
说明:面手册分为8章: 
1. 一般用户的命令; 
2. 系统调用; 
3. C语言函数库; 
4. 有关驱动程序和系统设备的解释; 
5. 配置文件的解释; 
6. 游戏程序的命令; 
7. 有用的杂类命令,如宏命令包等; 
8. 有关系统维护和管理的命令。 
9.cp命令 
格式:cp [选项] 源文件或目录 目标文件或目录 
功能:复制文件或目录。 
常用选项: 
-f –force 强行复制文件或目录,不论文件或目录是否已经存在。 
-d 复制时保留文件链接。 
-i –interactive覆盖文件之前先询问用户。 
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。 
-R 或–recursive递归处理,将指定目录下的文件及子目录一并处理。 
10.mv命令 
格式:mv [选项] 源文件或目录 目标文件或目录 
功能:mv命令对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。 
常用选项: 
-f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。 
-i 若目标文件(destination)已经存在时,就会询问是否覆盖。 
11.cat/tac命令 
格式:cat [选项] [文件] 
功能:查看目标文件的内容。 
常用选项: 
-b 对非空输出行编号。 
-n 对输出的所有行编号。 
-s 不输出多行空行。 
12.more命令 
格式:more [选项] [文件] 
功能:more命令显示文件内容,每次显示一屏。 
常用选项: 
-n 对输出的所有行编号。 
-s 将文件中连续的空白行压缩成一个空白行显示。 
-num 这个选项制定一个整数,表示一屏显示多少行。 
q 退出more。 
13.less命令 
格式:less [参数] 文件 
功能:less命令与more命令类似,但二者存在差别,less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。 
常用选项: 
-i 忽略搜索时的大小写。 
-N 显示每行的行号。 
14.head命令 
格式:head [选项] [文件] 
功能:head命令在屏幕上显示指定文件的开头若干行。 
常用选项: 
-c –bytes=[-]N 显示每个文件前面N字节。 
-n –lines=[-]N 显示指定文件的前面N行。 
15.tail命令 
格式:tail [选项] [文件] 
功能:用于显示指定文件的末尾,不指定文件时,作为输入信息进行处理。常用查看日志文件。 
说明:tail命令从指定点开始将文件写到标注输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。 
常用选项: 
-f 循环读取。 
-n <行数> 显示行数。 
16.时间相关的命令 
date显示 
date 指定格式显示时间:date+%Y:%m:%d 
date用法:date:date[OPTION]… [+FORMAT] 
%H 小时(00..23) 
%M 分钟(00..59) 
%S 秒(00..61) 
%X 相当于%H:%M:%S 
%d 日(01..31) 
%m 月份(01..12) 
%Y 完整年份(0000..9999) 
%F 相当于%Y-%m-%d 
时间戳 
时间->时间戳:date+%s 
时间戳->时间:Unix时间戳是从1970年1月1日开始所经过的秒数,不考虑闰秒。 
17.cal命令 
格式:cal [参数] [月份] [年份] 
功能:用于查询日历等时间信息,如果只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份和年份。 
常用选项: 
-3 显示系统前一个月,当前月,下一个月的月历。 
-j 显示在当年中的第几天(一年日期按天算,从1月1日算起,默认显示当前月在一年中的天数)。 
-y 显示当前年份的日历。 
18.find命令 
格式:find pathname -options 
功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)。 
常用选项: 
-name 按照文件名查找文件。 
19.grep命令 
格式:grep [选项] 搜寻字符串文件 
功能:在文件中搜索字符串,将找到的行打印出来。 
常用选项: 
-i 忽略大小写的不同,所以大小写视为相同。 
-n 顺便输出行号。 
-v 反向选择,亦即显出没有‘搜寻字符串’内容的那一行。 
20.zip/unzip命令 
格式:zip 压缩文件.zip 目录或文件 
功能:将目录或文件压缩成zip格式。 
常用选项: 
-r 递归处理,将指定目录下的所有文件和子目录一并处理。 
21.tar命令 
格式:tar [-cxtzjvf] 文件与目录… 参数 
功能:打包/解包,不打开它,直接看内容。 
-c 建立一个压缩文件的参数指令(create的意思)。 
-x 解开一个压缩文件的参数指令。 
-t 查看tarfile里面的文件。 
-z 是否同时具有gzip的属性?亦即是否需要用gzip压缩? 
-j 是否同时具有bzip的属性?亦即是否需要用bzip压缩? 
-v 压缩的过程中显示文件。这个常用,不建议用在背景执行过程。 
-f 使用档名,请留意,在f之后要立即接档名,不要再加参数。 
-C 解压到指定目录。 
22.bc命令 
bc命令可以很方便的进行浮点运算。 
23.uname -r命令 
格式:uname [选项] 
功能:uname用来获取电脑和操作系统的相关信息。 
常用选项: 
-a 或-all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。 
三、Linux系统根目录下各个目录的作用 
/bin 二进制可执行命令。该目录下存放着普通用户的命令

/dev 系统的设备文件,即设备的驱动程序

/home 存放用户文件的主目录,用户数据

/lib 存放着和系统运行相关的库文件

/mnt 存放临时的映射文件,通常是一些用来安装其他设备的子目录

/boot 存放启动linux的核心文件

/media 存放着可移除的设备,比如软盘,光盘

/misc 储存着一些特殊的字符的定义

/net 存放着和网络相关的一些文件

/proc 存放着用户与内核的交互信息

/sbin 系统的管理命令,这里存放的是系统管理员使用的程序

/srv 系统启动服务时可以访问的数据库目录

/tmp 临时文件,重启后自动清空

/var 存放系统产生的经常变化的文件

/etc 系统所有的配置文件都在这个目录中

/opt (option : 自由选择)主要给源码安装软件时选择的安装目录位置

/root 超级用户的目录

/selinux 主要用来加固操作系统,提高系统的安全性

/sys 管理设备文件

/usr 最大的目录,存放着应用程序和文件

/lost-found 这个目录平时是空的,当系统非正常关机而留下的“无家可归”的文件便会储存在这里








































































































































































































以上是关于Linux 基本命令总结的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学习linux运维基础总结

Linux服务器运维基本命令

linux运维必须知道的几个常用命令

手把手写C++服务器(33):Linux常用命令合集

运维基础-Linux发展史安装基本操作

开发运维手牵手「Linux篇」开发同学可能用到的Linux运维命令集锦