Linux中一些常用的命令(一)

ls命令

ls命令:用来列出当前目录的内容或指定目录,是使用频率较高的命令

  • -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等
  • -a:列出所有隐藏文件和目录
  • -h:以人类可读的方式将文件或者目录大小显示出来
  • -R:把当前目录下的目录的所有内容列出来(递归)
  • -d:显示当前目录的详细信息,不显示目录下的内容
  • -A:列出所有隐藏文件和目录 除了.和..
  • -1:文件和目录名分行显示
  • -S:把文件目录按照大小从大到小来排列
  • -t:把文件和目录按照最近修改时间排列 从最新到最老的顺序排列
  • -u:配合-t选项,显示并按atime从新到旧排序

cd命令

cd命令:用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,~也表示为home directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。

  • -p:如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
  • -L:如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录
  • -:当仅实用”-“一个选项时,当前工作目录将被切换到环境变量”OLDPWD”所表示的目录。

echo命令

echo命令:用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

  • -e:激活转义字符。
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
  • \a 发出警告声;
  • \b 删除前一个字符;
  • \c 最后不加上换行符号;
  • \f 换行但光标仍旧停留在原来的位置;
  • \n 换行且光标移至行首;
  • \r 光标移至行首,但不换行;
  • \t 插入tab;
  • \v 与\f相同;
  • \ 插入\字符;
  • \nnn 插入nnn(八进制)所代表的ASCII字符;

history命令

history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。

历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制。

  • -c:清空当前历史命令;
  • -a:将历史命令缓冲区中命令写入历史命令文件中;
  • -r:将历史命令文件中的命令读入当前历史命令缓冲区;
  • -w:将当前历史命令缓冲区命令写入历史命令文件中。

date命令

date命令是显示或设置系统时间与日期。

很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。

  • -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
  • -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
日期格式字符串列表
  • %H 小时,24小时制(00~23)
  • %I 小时,12小时制(01~12)
  • %k 小时,24小时制(0~23)
  • %l 小时,12小时制(1~12)
  • %M 分钟(00~59)
  • %p 显示出AM或PM
  • %r 显示时间,12小时制(hh:mm:ss %p)
  • %s 从1970年1月1日00:00:00到目前经历的秒数
  • %S 显示秒(00~59)
  • %T 显示时间,24小时制(hh:mm:ss)
  • %X 显示时间的格式(%H:%M:%S)
  • %Z 显示时区,日期域(CST)
  • %a 星期的简称(Sun~Sat)
  • %A 星期的全称(Sunday~Saturday)
  • %h,%b 月的简称(Jan~Dec)
  • %B 月的全称(January~December)
  • %c 日期和时间(Tue Nov 20 14:12:58 2012)
  • %d 一个月的第几天(01~31)
  • %x,%D 日期(mm/dd/yy)
  • %j 一年的第几天(001~366)
  • %m 月份(01~12)
  • %w 一个星期的第几天(0代表星期天)
  • %W 一年的第几个星期(00~53,星期一为第一天)
  • %y 年的最后两个数字(1999则是99)

cal命令

cal命令用于显示当前日历,或者指定日期的日历。

  • -l:显示单月输出;
  • -3:显示临近三个月的日历;
  • -s:将星期日作为月的第一天;
  • -m:将星期一作为月的第一天;
  • -j:显示“julian”日期;
  • -y:显示当前年的日历。

alias命令

alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号”将原来的命令引起来,防止特殊字符导致错误。


touch命令

touch命令有两个功能:

  • 一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
  • 二是用来创建新的空文件。

cp命令

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

  • -a:此参数的效果和同时指定”-dpR”参数相同;
  • -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
  • -f:强行复制文件或目录,不论目标文件或目录是否已存在;
  • -i:覆盖既有文件之前先询问用户;
  • -l:对源文件建立硬连接,而非复制文件;
  • -p:保留源文件或目录的属性;
  • -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
  • -s:对源文件建立符号连接,而非复制文件;
  • -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
  • -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
  • -b:覆盖已存在的文件目标前将目标文件备份;
  • -v:详细显示命令执行的操作。

mv命令

mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

  • 1:如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
  • 2:如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

  • –backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
  • -b:当文件存在时,覆盖前,为其创建一个备份;
  • -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
  • -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
  • –strip-trailing-slashes:删除源文件中的斜杠“/”; -S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
  • –target-directory=<目录>:指定源文件要移动到目标目录;
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

mkdir命令

mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。

注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。最好采用前后一致的命名方式来区分文件和目录。例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面。

在一个子目录中应包含类型相似或用途相近的文件。例如,应建立一个子目录,它包含所有的数据库文件,另有一个子目录应包含电子表格文件,还有一个子目录应包含文字处理文档,等等。目录也是文件,它们和普通文件一样遵循相同的命名规则,并且利用全路径可以唯一地指定一个目录。


file命令

file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。

  • -b:列出辨识结果时,不显示文件名称;
  • -c:详细显示指令执行过程,便于排错或分析程序执行的情形;
  • -f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
  • -L:直接显示符号连接所指向的文件类别;
  • -m<魔法数字文件>:指定魔法数字文件;
  • -v:显示版本信息;
  • -z:尝试去解读压缩文件的内容。

tr命令

tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。

  • -c或——complerment:取代所有不属于第一字符集的字符;
  • -d或——delete:删除所有属于第一字符集的字符;
  • -s或–squeeze-repeats:把连续重复的字符以单独一个字符表示;
  • -t或–truncate-set1:先删除第一字符集较第二字符集多出的字符。

useradd命令

useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

  • -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
  • -d<登入目录>:指定用户登入时的启始目录;
  • -D:变更预设值;
  • -e<有效期限>:指定帐号的有效期限;
  • -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
  • -g<群组>:指定用户所属的群组;
  • -G<群组>:指定用户所属的附加群组;
  • -m:自动建立用户的登入目录;
  • -M:不要自动建立用户的登入目录;
  • -n:取消建立以用户名称为名的群组;
  • -r:建立系统帐号;
  • -s:指定用户登入后所使用的shell;
  • -u:指定用户id。

passwd命令

passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

  • -d:删除密码,仅有系统管理者才能使用;
  • -f:强制执行;
  • -k:设置只有在密码过期失效后,方能更新;
  • -l:锁住密码;
  • -s:列出密码的相关信息,仅有系统管理者才能使用;
  • -u:解开已上锁的帐号。

id命令

id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。id命令已经默认预装在大多数Linux系统中。要使用它,只需要在你的控制台输入id。不带选项输入id会显示如下。结果会使用活跃用户。

当我们想知道某个用户的UID和GID时id命令是非常有用的。一些程序可能需要UID/GID来运行。id使我们更加容易地找出用户的UID以GID而不必在/etc/group文件中搜寻。如往常一样,你可以在控制台输入man id进入id的手册页来获取更多的详情。

  • -g或–group   显示用户所属群组的ID。
  • -G或–groups 显示用户所属附加群组的ID。
  • -n或–name   显示用户,所属群组或附加群组的名称。
  • -r或–real   显示实际ID。
  • -u或–user   显示用户ID。

su命令

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

  • -c<指令>或–command=<指令>:执行完指定的指令后,即恢复原来的身份;
  • -f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
  • -l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
  • -m,-p或–preserve-environment:变更身份时,不要变更环境变量;
  • -s或–shell=:指定要执行的shell;

原创文章,作者:XIAJIDONG,如若转载,请注明出处:http://www.178linux.com/72205

(1)
XIAJIDONGXIAJIDONG
上一篇 2017-03-30
下一篇 2017-03-30

相关推荐

  • date命令常见用法。

    date是一个非常实用的小工具,可以查看时间,并且也可以添加选项去完成自己想完成的东西。

    Linux干货 2017-11-13
  • grep 命令详解

    grep 命令详解 概述:本文档基于 info grep 翻译,完成度可能 90% 左右。 作者:N10-guli 时间:2016-01-05 版本:v1.0 目录:     1,grep 命令的选项     2,grep 命令的正则表达式     3,gre…

    Linux干货 2016-02-14
  • NoSQL之MongoDB

    分布式系统理论 1、 CAP: 分布式系统只能满足其中两个  Consistency :一致性 Availibility:可用性 Partitions Tolerance :分区容错性 C,A : SQL 传统的数据库。 两段机制。 C,P :悲观枷锁机制,分布式加锁机制。加锁机制与SQL不太一样。 这里的C为最终一致性。 放弃C后的特例,既可以保证可用性,…

    2018-01-09
  • 创建私有CA和申请证书流程

    创建私有CA和申请证书流程 由于很多时候做实验需要用到证书,就需要自己搭建一个私有CA来给自己颁发证书。同时通过整理创建CA和申请证书、吊销证书的过程加深自己的理解. PKI:Publilc Key Infrastructure 公钥基础设施:     签证机构:CA     注册机构:RA &nb…

    Linux干货 2016-12-01
  • 设计模式(六)桥连模式Bridge(结构型)

    1. 概述       在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度? 例子1:设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的…

    Linux干货 2015-06-26
  • 文件系统

            文件系统表现为单个统一的层次结构:从目录/开始并通过若干数量的子目录继续向下扩展,/也叫做根目录。这种单一的层次系统和 Windows 的不一样,后者的分区有专门的名字空间。        &n…

    Linux干货 2016-02-28

评论列表(1条)

  • renjin
    renjin 2017-04-05 15:00

    详细的介绍了linux的一些常用命令的参数,用法,内容写的很好,并且排版也非常不错,继续努力。