linux常用命令学习(二)

来源:互联网 发布:邪恶帝软件下载 编辑:程序博客网 时间:2024/06/07 05:39

一. 命令

1. uname命令
"uname"命令就是Unix Name的简写。显示机器名,操作系统和内核的详细信息。uname显示内核类别, uname -a显示详细信息。


显示的信息分别为机器的内核名、机器的节点名、内核发布版本、内核版本、处理器架构、操作系统名



2. history命令

显示在终端中所执行过的所有命令的历史。

3. chmod 命令

chmod会根据要求的模式来改变每个所给的文件,文件夹,脚本等等的文件模式(权限)。
每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。为了能更简单快捷的使用和熟悉权限,rwx权限可以用数字来表示,分别表示为r(4)、w(2)、x(1)。

所以如果你想给文件只读权限,就设置为'4';只写权限,设置权限为'2';只执行权限,设置为1; 读写权限,就是4+2 = 6, 以此类推。
举例:对文件授权chmod 711 abc.sh,拥有者用户有读写和执行权限,用户所在的组和其它用户只有可执行权限



4. chown命令

更改文件属主,也可以同时更改文件属组

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。在你的目录下,使用"ls -l",你就会看到像这样的东西。
注意:用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。

语法:chown [-R] 属主名:属组名 文件名

如chown server:server Binary,给文件Binary改变文件拥有者和所在用户组

(这些拥有者和用户组能够是之前没有出现过的吗)

chgrp:更改文件属组

            语法:chgrp [-R] 属组名文件名 (R表示递归)


5. echo

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

echo 回显,用法 echo ok,会显示ok,输入什么就打印什么。
echo  ok  > test.txt ;把ok字符覆盖test.txt内容,>表示追加并覆盖的意思。
>>两个大于符号,表示追加,echo ok >> test.txt,表示向test.txt文件追加OK字符,不覆盖原文件里的内容。

echo还可以创建带有文字内容的文件,如echo ok>txt.txt,直接创建一个txt.txt文件。

6. cal命令

用来显示当前月份或者未来或者过去任何年份中的月份



显示未来的月份:显示未来的月份2145年7月:cal 07 2145



7. date命令
date命令是显示或设置系统时间与日期。
这个命令在脚本中十分有用,以及基于时间和日期的脚本更完美。而且在终端中改变日期和时间,(当然需要root权限才能操作这个,因为它是系统整体改变)
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;

-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

输出昨天日期:date -d "1 day ago" +"%Y-%m-%d"
2秒后输出:date -d "2 second" +"%Y-%m-%d %H:%M.%S"
显示下一年日期:date -d "+1 year" +%Y%m%d 
date -s "2012-05-23 01:01:01" //这样可以设置全部时间,只有root权限才能设置,其他只能查看

8. |管道

管道:一个命令的输出作为另一个命令的输入

如 ls -alh | more 该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表。


二. Linux 用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

1. 添加用户账号

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

实例:

# useradd –d  /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主录/usr/sam(/usr为默认的用户主目录所在的父目录)。

# useradd -s /bin/sh -g group –G adm,root gem 此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组(-G指定用户所属的附加组),其中group用户组是其主组。

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。


2. 删除用户账号

删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

实例:

 userdel -r sam 此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。


3. 修改用户账号

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。选项的意义与useradd命令中的选项一样。

格式:usermod 选项 用户名


4. 用户口令的管理

用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

为用户指定空口令时,执行下列形式的命令:# passwd -d sam 此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:# passwd -l sam


5. /etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell 



(用户标识符和用户id有什么关系)


6. /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用":"隔开。

这些字段是:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志


三. 补充信息

1. 使用ls -l列出当前目录下文件的详细信息


在Linux中,文件以“.”开头的就是隐藏文件,并且文件,文件夹,驱动,命令,脚本都视为文件
第一个区域(-rw-r--r--)代表的是文件的属性,第一个字符(这里是 -)代表的是文件的类型。- 代表普通文件,d 代表目录,l 是符号链接文件(和 Windows 下的快捷方式差不多),n 代表网络特殊文件,c 代表装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置),b 代表装置文件里面的可供储存的接口设备(可随机存取装置),p 代表命名管道。

后面的 9 位是对文件的访问控制。三个三个为一组,表示文件或者目录对所属用户,同一组用户和其它用户的权限。

上面例子中第一个root 代表了文件文件属于用户root,第二个root代表了文件属于用户组root。158 代表了文件大小为158字节.NOV 8 17:18代表了文件最后一次修改的日期和时间,最后面的就是文件/文件夹的名字。


2. 使用mkdir创建新的目录,目录只能在用户拥有写权限的目录下才能创建。touch 可以用来在用户拥有写权限的目录下创建不存在的文件。

3. Linux的发行版
Linux的发行版说简单点就是将Linux内核与应用软件做一个打包。目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等。

4. 今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用LAMP(Linux + Apache + MySQL + PHP)或LNMP(Linux + Nginx+ MySQL + PHP)组合。

5. linux安装

   忘记Linux系统的root密码

   Linux 远程登录


6. Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段:内核的引导、运行 init、系统初始化、建立终端 、用户登录系统。


7. 系统的目录

在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。



8. 一句话分清绝对路径和相对路径

绝对路径由根目录 / 写起,相对路径不是由 / 写起

原创粉丝点击