linux基本命令(1)

ls:

说明:显示指定工作目录下的文件;

 参数 :

-a:显示所有文件(包括隐藏文件);

-A:跟-a功能相同但不显示 .和..

 . :表示当前目录或工作目录;

.. :表示上级目录,当前目录的附目录;

-n:--numeric-uid-gid   以用户识别码和群组识别码替代其名称。

-h:--human-readable   用"K","M","G"来显示文件和目录的大小。

-r:文件名逆序显示;

-R:  递归显示,将指定目录下的所有文件及子目录一并处理

-l:显示文件的详细属性信息;

info ls:查看ls的info页信息

-F 查看目录中的文件

date:

 说明: date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :

%H : 小时(00..23)

  %I : 小时(01..12)

  %k : 小时(0..23)

  %l : 小时(1..12)

  %M : 分钟(00..59)

%r : 直接显示时间  

%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

  %S : 秒(00..61)  

%T : 直接显示时间

hwclock

说明:显示与设定硬件时钟。在Linux中有硬件时钟与系统时钟等两种时钟;硬件时钟是指主机板上的时钟设备,系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运

 参数:

-s:将系统时间读取为硬件时间;

-w:以系统时间为准,经硬件时间修改为系统时间;

cd

说明:cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。

cd     :切换到自己的家目录;

cd  ~  :进入用户主家目录;

cd  -  切换到上个家目录;

su:

转换用户;su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码

使用方式

  su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

rmdir

说明: 删除空的目录

参数:-p:删除一脉单传的空目录

cat

说明:把档案串连接后传到基本输出,cat是 concatenate(连锁)的简写,意思是合并文件。该命令可以显示文件的内容(经常和more搭配使用),

或者是将多个文件合并成一个文件

参数: -n:对所有输出的行数进行编号

head:查看文件前几行,默认为前10行:

tail:查看文件后几行,默认为后10行

 tail -f :查看文件尾部内容不退出,并显示新增的行

 tail -n:显示文件的后第几行

clear 命令用于清除终端窗口

head 命令

 你可以使用 head 命令来查看文件的开头部分。此项命令是:

 head <filename>

 head 是一个有用的命令,但是由于它只限于文件的最初几行,你看不到文件实际上有多长。按照默认设置,

 你只能阅读文件的前十行。你可以通过指定一个数字选项来改变要显示的行数,如下面的命令所示:

 head -20 <filename>

tail 命令

 与 head 命令恰恰相反的是 tail 命令。使用 tail 命令,你可以查看文件结尾的十行。这有助于查看日志文件的

 最后十行来阅读重要的系统消息。你还可以使用 tail 来观察日志文件被更新的过程。使用 -f 选项,tail 会自动

 实时地把打开文件中的新消息显示到屏幕上。例如,要即时观察 /var/log/messages的变化,以根用户身份在

 shell 提示下键入以下命令:

 tail -f /var/log/messages

touch

修改文件的时间戳,使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间

参数:

-a:修改最后一次访问时间

-m:改变文件的修改时间

-d:<时间日期>  使用指定的日期时间,而非现在的时间

-r:<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同

-t:<日期时间>  使用指定的日期时间,而非现在的时间

cp:

 复制文件或目录

 -a或--archive  此参数的效果和同时指定"-dpR"参数相同。

 -b或--backup  删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。

 -d或--no-dereference  当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。

 -f或--force  强行复制文件或目录,不论目标文件或目录是否已存在

 -r  递归处理,将指定目录下的文件与子目录一并处理。

 -R或--recursive  递归处理,将指定目录下的所有文件与子目录一并处理。

 -v或--verbose  显示指令执行过程

 -x或--one-file-system  复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不予复制。

 -v :显示复制过程

bash

touch:

  修改时间戳;

-a:改变访问时间

-m:改变修改时间;

useradd:

创建新的用户:使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

制定用户属性:

 -u:UID,指定UID,有效范围0-65535

 -g:GID,指定GID,有效范围为已有的GID

 -G:创建额外组,有效范围为已有的GID,可以有多个,用逗号隔开

 -c:指定注释信息

 -r:创建系统用户,ID号为1-499之间的用户,但系统用户家目录不会被真正创建

 -m:(强行)必须为用户创建家目录

 -d:指定家目录, 登入目录, 指定用户登入时的启始目录。

 -M:不要自动建立用户的家目录。

 -s:<shell> 指定用户登入后所使用的shell

groupadd:创建组

  -g:创建组时为其制定GID

  -r:创建系统组

groupmod

该命令用于修改组的属性

id:

 查看用户id

-u:显示用户UID

-g:显示用户GID

-un:显示用户名

-gn:显示组名

usermod

修改用户帐号

 -u:修改UID

 -g:修改GID

 -c:修改注释信息

 -l:改用户登录信息,修改用户帐号名称

 -L :锁定用户密码,使密码无效。

 -a -G GID: -G修改额外组时会覆盖原有的额外组,同时使用-a选项则能保留原有的额外组;(append,追加)

 -m -d /path/to/somewhere:-d只修改家目录指向,同时使用-m选项则可实现将原来家目录移动为新的家目录;

 -s :修改用户登入后所使用的shell

 -e:<有效期限>  修改帐号的有效期限。

 -d:<登入目录>  修改用户登入时的目录。

 -U :解除密码锁定

passwd

用来更改用户密码

 -l:锁定用户账号密码,只有root才有权使用此项。

 -u:解除用户帐号锁定,同样只有root才有权使用

 -d:关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备 root 权限的使用者方可使用.

 -e:设定过期期限

 -n: 设定密码最短使用天数;

 -x:设定最长使用天数;

 -w: 设定警告天数;

 -i: 是定非活动时长;

chage

-d: 修改密码的最近一次修改时间

-m, --mindays MIN_DAYS:修改最短使用期限;

-M, --maxdays MAX_DAYS:修改最长使用期限;

-W, --warndays WARN_DAYS:修改警告天数;

-I, --inactive INACTIVE:修改非活动天数;

-E, --expiredate EXPIRE_DATE:修改过期时间;

chmod:

改变一个或多个文件的存取模式,只能文件属主或特权用户才能使用该功能来改变文件存取模式。可指定多个mode,以逗号分开

chmod命令用于改变文件或目录的访问权限。

让我们先来看一看这个文件。在 shell 提示下,键入:

ls -l sneakers.txt

前面的命令显示了这个文件信息:

-rw-rw-r-- 1 test test 39 3月 11 12:04 sneakers.txt

这里提供了许多细节。你可以看到谁能读取(r)和写入(w)文件,以及谁创建了这个文件(test),所有者

所在的组群(test)。在组群右侧的信息包括文件大小、创建的日期和时间,以及文件名。

第一列显示了当前的权限;它有十位。第一位代表文件类型。其余九位实际上是用于三组不同用户的三组权限

那三组是:文件的所有者,文件所属的组群,和“其他人”,这是前面没有包括的用户和组群。

- (rw-) (rw-) (r--) 1 test test

| | | |

类型所有者 组群 其他人

第一个项目指定文件类型,它可以显示以下几种:

d ― 目录

-(短线)― 常规文件(而不是目录或链接)

l ― 到系统上其它位置的另一个程序或文件的符号链接

在第一个项目之后的三组中,你可以看到下面几种类型:

r ― 文件可以被读取

w ― 文件可以被写入

x ― 文件可以被执行(如果它是程序的话)

当你在所有者、组群、或其他人中看到一个短线(“-”),这意味着相应的权限还没有被授予。可以看出以下

这句

-rw-rw-r-- 1 test test 39 3月 11 12:04 sneakers.txt

文件的所有者(这个情况下是 test)有读取和写入该文件的权限。组群 test 也有读取和写入 sneakers.txt 的权

限,其他组群没任何权限。它不是一个程序,因此所有者和组群都没有执行它的权限。

接下来我们用chmod来改变文件的权限,键入下面的命令:

chmod o+w sneakers.txt

o+w 命令告诉系统你想给其它人写入文件 sneakers.txt 的权限。要查看结果,再次列出文件的细节。现在,这

个文件看起来与下面的输出相仿:

-rw-rw-rw- 1 test test 39 3月 11 12:04 sneakers.txt

现在,每个人都可以读取和写入这个文件。

要从 sneakers.txt 中删除读写权限,使用 chmod 命令来取消读取和写入这两个的权限。

chmod go-rw sneakers.txt

通过键入 go-rw,你在告诉系统删除文件 sneakers.txt 中组群和其它人的读取和写入权限。结果与下面的输出

相似:

-rw------- 1 test test 39 3月 11 12:04 sneakers.txt

当你想用 chmod 命令来改变权限时,把它们当做速记符号来记忆,因为你实际要做的只是记住几个符号而已

下面是一个速记符号含义的列表:

身份

u ― 拥有文件的用户(所有者)

g ― 所有者所在的组群

o ― 其他人(不是所有者或所有者的组群)

a ― 每个人或全部(u、g、和 o)

权限

r ― 读取权

w ― 写入权

x ― 执行权

行动

+ ― 添加权限

- ― 删除权限

= ― 使它成为唯一权限

另外,也可以通过使用数字来改变权限。

每种权限设置都可以用一个数值来代表:

r = 4

w = 2

x = 1

- = 0

当这些值被加在一起,它的总和便用来设立特定的权限。譬如,如果你想有读取和写入的权限,你会得到一个

值为 6 的总和;4(读取)+ 2(写入)= 6。

sneakers.txt 文件的数字权限设置如下:

- (rw-) (rw-) (r--)

| | |

4+2+0 4+2+0 4+0+0

所有者的总和为6,组群的总和为6,其他人的总和为4。这个权限设置读作 664。

如果你想改变 sneakers.txt 文件的权限,因此你的组群中的人没有写入权,但是仍旧能够读取文件的话,从这

组数字中减掉2就可以删除写入权限了。

然后,这组数值就变成644。

要实现这些新设置,键入:

chmod 644 sneakers.txt

现在,列举这个文件来校验改变。键入:

ls -l sneakers.txt

输出应为:

-rw-r--r-- 1 test test 39 3月 11 12:04 sneakers.txt

现在,组群和其他人都没有了到文件 sneakers.txt 的写入权。

这里是一个某些常用设置、数值、以及它们的含义的列表:
-rw------- (600) ― 只有所有者才有读取和写入的权限。
-rw-r--r-- (644) ― 只有所有者才有读取和写入的权限;组群和其他人只有读取的权限。
-rwx------ (700) ― 只有所有者才有读取、写入、和执行的权限。
-rwxr-xr-x (755) ― 所有者有读取、写入、和执行的权限;组群和其他人只有读取和执行的权限。
-rwx--x--x (711) ― 所有者有读取、写入、和执行权限;组群和其他人只有执行权限。
-rw-rw-rw- (666) ― 每个人都能够读取和写入文件。(请谨慎使用这些权限。)
-rwxrwxrwx (777) ― 每个人都能够读取、写入、和执行。(再重申一次,这种权限设置可能会很危险。)

下面列举了一些对目录的常见设置:

drwx------ (700) ― 只有所有者能在目录中读取、写入。

drwxr-xr-x (755) ― 每个人都能够读取目录,但是其中的内容却只能被所有者改变

有待更新。。。

本文出自 “悠悠我哉” 博客,谢绝转载!

你可能感兴趣的:(linux,基本命令)