Linux常用操作指令

1. cd->访问目录
名称:cd
  使用权限:所有使用者
  使用方式:cd [dirName]
  说明:变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录).另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
  范例:跳到 /usr/bin/:
  cd /usr/bin
  跳到自己的 home directory:
  cd ~
  跳到目前目录的上上两层:
  cd ../..


2.拷贝资源
名称:cp
  使用权限:所有使用者
  使用方式:
  cp [options] source dest
  cp [options] source... directory
  说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
  把计:
  -a 尽可能将档案状态,权限等资料都照原状予以复制。
  -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
  -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
  范例:
  将档案 aaa 复制(已存在),并命名为 bbb:
  cp aaa bbb

  将所有的C语言程式拷贝至 Finished 子目录中:
  cp *.c Finished


3.查看文件内容
名称:less /more
  使用权限:所有使用者
  使用方式:
  less [Option] filename
  说明:
  less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用者往回卷动
  以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。
  范例: less hello.c


4.列表显示
名称:ls
  使用权限:所有使用者
  使用方式:ls [-alrtAFR] [name...]
  说明:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
  -a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
  -l 除档案名称外,亦将档案型态,权限,拥有者,档案大小等资讯详细列出
  -r 将档案以相反次序显示(原定依英文字母次序)
  -t 将档案依建立时间之先后次序列出
  -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  -F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  -R 若目录下有档案,则以下之档案亦皆依序列出
  范例:
  列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面:
  ls -ltr s*
  将 /bin 目录以下所有目录及档案详细资料列出:
  ls -lR /bin
  列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*":
  ls -AF

5.显示内容
名称:more
  使用权限:所有使用者
  使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
  说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
  参数:-num 一次显示的行数
  -d 提示使用者,在画面下方显示 [Press space to continue, q to quit.] ,如果使用者按错键,则会显示 [Press h for instructions.] 而不是 哔 声
  -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
  +/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
  +num 从第 num 行开始显示
  fileNames 欲显示内容的档案,可为复数个数
  范例:
  more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。
  more +20 testfile 从第 20 行开始显示 testfile 之档案内容。


6.拷贝
名称:mv
  使用权限:所有使用者
  使用方式:
  mv [options] source dest
  mv [options] source... directory
  说明:将一个档案移至另一档案,或将数个档案移至另一目录。
  参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。
  范例:
  将档案 aaa 更名为 bbb:
  mv aaa bbb
  将所有的C语言程式移至 Finished 子目录中:
  mv -i *.c

7.删除
名称:rm
  使用权限:所有使用者
  使用方式:rm [options] name...
  说明:删除档案及目录。
  把计:
  -i 删除前逐一询问确认。
  -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  -r 将目录及以下之档案亦逐一删除。
  范例:
  删除所有C语言程式档;删除前逐一询问确认:
  rm -i *.c
  将 Finished 子目录及子目录中所有档案删除:
  rm -r Finished

8.删除目录及子目录
名称:rmdir
  使用权限:于目前目录有适当权限的所有使用者
  使用方式: rmdir [-p] dirName
  说明: 删除空的目录。
  参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
  范例:
  将工作目录下,名为 AAA 的子目录删除:
  rmdir AAA
  在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
  rmdir -p BBB/Test


9.修改日期
名称:touch
  使用权限:所有使用者
  使用方式:
  touch [-acfm]
  [-r reference-file] [--file=reference-file]
  [-t MMDDhhmm[[CC]YY][.ss]]
  [-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
  [--no-create] [--help] [--version]
  file1 [file2 ...]

  说明:
  touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。
  参数:
  a 改变档案的读取时间记录。
  m 改变档案的修改时间记录。
  c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
  f 不使用,是为了与其他 unix 系统的相容性而保留。
  r 使用参考档的时间记录,与 --file 的效果一样。
  d 设定时间与日期,可以使用各种不同的格式。
  t 设定档案的时间记录,格式与 date 指令相同。
  --no-create 不会建立新档案。
  --help 列出指令格式。
  --version 列出版本讯息。
  范例:
  最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。
  touch file
  touch file1 file2
  将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。
  touch -c -t 05061803 file
  touch -c -t 050618032000 file
  将 file 的时间记录改变成与 referencefile 一样。
  touch -r referencefile file

  将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。
  touch -d "6:03pm" file
  touch -d "05/06/2000" file
  touch -d "6:03pm 05/06/2000" file


10. at
名称:at
  使用权限:所有使用者
  使用方式:at -V [-q queue] [-f file] [-mldbv] TIME
  说明:at 可以让使用者指定在 TIME 这个特定时刻执行某个程式或指令,TIME 的格式是 HH:MM其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 点锺)等口语词。
  如果想要指定超过一天内的时间,则可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分钟,DD 是第几日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 时间间隔来弹性指定时间,其中的时间间隔可以是 minutes, hours, days, weeks
  另外,使用者也可指定 today 或 tomorrow 来表示今天或明天。当指定了时间并按下 enter 之后,at 会进入交谈模式并要求输入指令或程式,当你输入完后按下 ctrl+D 即可完成所有动作,至于执行的结果将会寄回你的帐号中。
  把计:
  -V:印出版本编号
  -q:使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个
  -m:即使程式/指令执行完成后没有输出结果, 也要寄封信给使用者
  -f file:读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入
  -l:列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
  -d:删除指定 (使用者也可以直接使用 atrm 而不用 at -d)
  -v:列出所有已经完成但尚未删除的指定
  例子:
  三天后的下午 5 点锺执行 /bin/ls:
  at 5pm + 3 days /bin/ls

  三个星期后的下午 5 点锺执行 /bin/ls:
  at 5pm + 2 weeks /bin/ls

  明天的 17:20 执行 /bin/date:
  at 17:20 tomorrow /bin/date
  1999 年的最后一天的最后一分钟印出 the end of world !
  at 23:59 12/31/1999 echo the end of world !


11. cal
名称:cal
  使用权限:所有使用者
  使用方式:cal [-mjy] [month [year]]
  说明:
  显示日历。若只有一个参数,则代表年份(1-9999),显示该年的年历。年份必须全部写出:``cal 89\ 将不会是显示 1989 年的年历。使用两个参数,则表示月份及年份。若没有参数则显示这个月的月历。
  1752 年 9 月第 3 日起改用西洋新历,因这时大部份的国家都采用新历,有 10 天被去除,所以该月份的月历有些不同。在此之前为西洋旧历。
  匡兜:
  -m:以星期一为每周的第一天方式显示。
  -j:以凯撒历显示,即以一月一日起的天数显示。
  -y:显示今年年历。
  范例:
  cal:显示本月的月历。
  [root@mylinux /root]# date
  Tue Aug 15 08:00:18 CST 2000
  [root@mylinux /root]# cal
  August 2000
  Su Mo Tu We Th Fr Sa
  1 2 3 4 5
  6 7 8 9 10 11 12
  13 14 15 16 17 18 19
  20 21 22 23 24 25 26
  27 28 29 30 31

  [root@mylinux /root]#

  cal 2001:显示公元 2001 年年历。
  [root@mylinux /root]# cal 2001
 
  [root@mylinux /root]#
  cal 5 2001:显示公元 2001 年 5 月月历。
  [root@mylinux /root]# cal 5 2001
  May 2001
  Su Mo Tu We Th Fr Sa
  1 2 3 4 5
  6 7 8 9 10 11 12
  13 14 15 16 17 18 19
  20 21 22 23 24 25 26
  27 28 29 30 31

  [root@mylinux /root]#

  cal -m:以星期一为每周的第一天方式,显示本月的月历。

  [root@mylinux /root]# cal -m
  August 2000
  Mo Tu We Th Fr Sa Su
  1 2 3 4 5 6
  7 8 9 10 11 12 13
  14 15 16 17 18 19 20
  21 22 23 24 25 26 27
  28 29 30 31
  [root@mylinux /root]#
  cal -jy:以一月一日起的天数显示今年的年历。
  [root@mylinux /root]# cal -jy 2000

猜你喜欢

转载自nianwenhong.iteye.com/blog/2108112