“  最近发现关于linux的基础知识有很多都忘记了,所以来重新回顾一下。”

1. 指令的基本结构:

[westos@foundation32 /]$ command(指令) [-options](选项) parameterl1(参数1) parameterl2(参数2) ...

上述指令详细说明如下:

  1. 一行指令中第一个输入的部分绝对是『指令(command)』或『可执行文件案(例如批次脚本,script)』
  2. command 为指令的名称,例如变换工作目录的指令为 cd 等等;
  3. 中括号[]并不存在于实际的指令中,而加入选项设定时,通常选项前会带 – 号,例如 -h;有时候会使用选项的完整全名,则选项前带有 — 符号,例如 –help;
  4. parameter1 parameter2.. 为依附在选项后面的参数,或者是 command 的参数;
  5. 指令, 选项, 参数等中间以空格来区分,不论空几格 shell 都视为一格。所以空格是很重要的特殊字符!;
  6. 按下[Enter]按键后,该指令就立即执行。[Enter]按键代表着一行指令的开始启动。
  7. 指令太长的时候,可以使用反斜杠 (\) 来跳脱[Enter]符号,使指令连续到下一行。注意!反斜杠后就立刻接特殊字符,才能执行!
例如:
[root@hecs-293015 ~]# ls -al .
total 140
dr-xr-x---. 6 root root 4096 Mar 20 01:23 .
dr-xr-xr-x. 23 root root 4096 Mar 24 17:49 ..
-rw-r--r-- 1 root root 4294 Mar 24 17:50 .bash_history

2. 指令帮助

事实上,几乎 Linux 上面的指令,在开发的时候,开发者就将可以使用的指令语法与参数写入指令操作过程中了!你只要使用『–help 』这个选项, 就能够将该指令的用法作一个大致的理解!

举例来说,我们来瞧瞧 date 这个指令的基本用法与选项参数的介绍:

[root@hecs-293015 text]# date --help
Usage: date [OPTION]... [+FORMAT]                           (介绍了基本语法)
or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]     (介绍设置时间的语法)
Display the current time in the given FORMAT, or set the system date.

Mandatory arguments to long options are mandatory for short options too.
-d, --date=STRING display time described by STRING, not 'now'
-f, --file=DATEFILE like --date once for each line of DATEFILE
-I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.
TIMESPEC='date' for date only (the default),
'hours', 'minutes', 'seconds', or 'ns' for date
and time to the indicated precision.
-r, --reference=FILE display the last modification time of FILE
.......
--help display this help and exit                            (显示此求助说明并离开)
--version output version information and exit                (显示版本信息并离开)

FORMAT controls the output. Interpreted sequences are:       (底下则是重要的格式 (FORMAT) 的主要项目)

%% a literal %
%a locale's abbreviated weekday name (e.g., Sun)
%A locale's full weekday name (e.g., Sunday)
%b locale's abbreviated month name (e.g., Jan)
%B locale's full month name (e.g., January)
........

Examples:                                                    (底下是几个重要的范例)
Convert seconds since the epoch (1970-01-01 UTC) to a date
$ date --date='@2147483647'

看一下上面的显示,首先一开始是下达语法的方式 (Usage),这个 date 有两种基本语法,一种是直接下达并且取得日期回传值,且可以 +FORAMAT 的方式来显示。 至于另一种方式,则是加上MMDDhhmmCCYY 的方式来设定日期时间。他的格式是『月月日日时时分分公元年』的格式!再往下看, 会说明主要的选项,例如 -d 的意义等等,后续又会出现 +FORMAT 的用法!从里面你可以查到『date +%Y%m%d 』这个指令与选项的说明。

基本上,如果是指令,那么透过这个简单的 –help 就可以很快速的取得你所需要的选项、参数的说明了!这很重要!我们说过,在 linux 底下你需要学习『任务达成』的方式, 不用硬背指令参数。

不过常用的指令你还是得要记忆一下,而选项就透过 –help 来快速查询即可。

3. 指令大小写区别

Linux 的环境中, 『大小写字母是不一样的东西!』也就是说,在 Linux 底下, Yunye 与 yunye这两个文件是『完全不一样的』文件!指令也是相同。所以, 在下达指令的时候千万要注意到指令是大写还是小写。

例如:

[root@hecs-293015 text]# ls -al yunye 
-rw-r--r-- 1 root root 0 Mar 28 14:19 yunye
[root@hecs-293015 text]# ls -al Yunye 
ls: cannot access Yunye: No such file or directory        (没有Yunye个文件)
[root@hecs-293015 text]# date                             (显示当前时间的指令)
Tue Mar 28 14:20:48 CST 2023                                          
[root@hecs-293015 text]# Date                                         
-bash: Date: command not found                            (没有这个指令)
[root@hecs-293015 text]# DATE
-bash: DATE: command not found                            (没有这个指令)

4. 重要热键[Tab], [ctrl]-c

[Tab]按键

[Tab]按键就是在键盘的大写灯切换按键([Caps Lock])上面的那个按键!在各种Unix-Like的Shell当中,这个[Tab]按键算是 Linux 的 Bash shell 最棒的功能之一了!他具有『命令补全』与『文件补齐』的功能!重点是,可以避免我们打错指令或文件名呢!但是[Tab]按键在不同的地方输入,会有不一样的结果!

我们举下面的例子来说明:

命令补齐
[root@hecs-293015 text]# ca[tab][tab]
cacertdir_rehash ca-legacy cancel.cups case catman
cairo-sphinx caller capsh cat 
cal cancel captoinfo catchsegv 
[root@hecs-293015 text]# cal
March 2023 
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
ca然后按两下[tab], 所有以 ca 为开头的指令都被显示出来了,然后就能找到我们所需要的cal日历这个命令了。

文件补齐
[root@hecs-293015 text]# ll [tab][tab]
blog yunye 
[root@hecs-293015 text]# ll blog 
-rw-r--r-- 1 root root 0 Mar 28 14:46 blog

ll加空格后面按两下[tab][tab]就会显示当前目录下所有的文件和目录,然后就可以看到你想找的那个文件了。

[Ctrl]-c 按键

如果你在 Linux 底下输入了错误的指令或参数,有的时候这个指令或程序会在系统底下跑不停这个时候怎么办?别担心,如果你想让当前的程序停止的话,可以输入:[Ctrl]与 c 按键(先按着[Ctrl]不放,且再按下 c 按键,是组合按键),那样就会中断目前运行的程序!举例来说,如果你输入了『find/』这个指令时,系统会开始跑一些东西(先不要理会这个指令串的意义),此时你给他按下 [Ctrl]-c 组按键,就会立刻发现这个指令串被终止了!

[root@hecs-293015 text]# fin/usr/share/doc/lshw-B.02.18/lshw.xsd
/usr/share/doc/lshw-B.02.18/proc_usb_info.txt
/usr/share/doc/lshw-B.02.18/IODC.txt
/usr/share/doc/lshw-B.02.18/README.md
/usr/share/doc/tcl-8.5.13
/usr/share/doc/tcl-8.5.13/changes
/usr/share/doc/tcl-8.5.13/README
/usr/share/doc/tcl-8.5.13/license.terms
^C   (输入指令后,系统会执行find这个命令,但是/ 下的文件和目录太多就导致命令停不下来,这时候[Ctrl+C]命令就会停下来了)

不过要注意的是,这个组合键是可以将正在运作中的指令中断的, 如果你正在运作比较重要的指令,就别急着使用这个组合按键了!

云野 » Linux基础命令

发表回复