LUNIX命令集

时间:2022-02-08 21:49:50

Linux 是一套免费使用和*传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1.Linux的发行家族有Debian、Fedora、SUSE

2.启动流程:操作系统->/boot(内核引导)->init进程->运行级别->/etc/rc.d-(系统初始化->建立终端)>用户登录->login sell

系统初始化:执行Shell脚本/etc/rc.d/rc.sysinit完成初始化工作,主要工作是激活交换分区,检查磁盘,加载硬件模块以及其他一些需要优先执行任务

3.Linux关机

正确的关机流程为:sync > shutdown > reboot > halt

Sync将数据由内存同步到硬盘中

shutdown -h now 立马关机

4.Linux系统目录结构

/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

5.Linux文件基本属性

Linux系统是一种典型的多用户系统,不同用户处于不同的地位,拥有不同的权限,为了保护系统的安全性,Liunx系统对不同的用户访问同一文件的权限做了不同的规定。

(1)ll或ls -l显示一个文件的属性以及文件所属的用户和组,如

可以看到文件abc.ppk的第一个属性用“-”标识,代表文件。

在Linux中第一个字符代表代表这个文件是目录、文件或链接文件。

d—目录

-—文件

l—链接文档

b—装置文件里面的可供存储的接口设备(可随机存取装置)

c—装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

下面的字符三个为一组,均为[rwe]的三个参数组合,其中r代表可读,w代表可写,x代表可执行。这三个权限的位置不会改变,没有权限,就会出现减号。

(2)Linux文件属主和属组

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。一个用户属于一个或多个组。

更改文件属性

A.chgrp:更改文件属组 chgrp [-R] 属组名 文件名

-R:递归更改文件属性,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

B.chown:更改文件属主,也可以同时更改文件属组

chown [-R] 属主名 文件名

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

C.chmod:更改文件的9个属性 chmod [-R] xyz 文件或目录或chmod [-R] u,g,o 文件或目录

r=4,w=2,x=1

(3)Linux文件与目录管理

A.列出目录 ls [-a,d,l]

选项与参数:

-a:全部的文件,连同隐藏文件一起列出来

-d:仅列出目录本身,而不是列出目录内的文件数据

-l:长数据串列出,包含文件的属性与权限等

B.切换目录 cd [相对路径或绝对路径]

C.显示目前所在的目录 pwd [-P]

-P:显示出确实路径,而非使用连结路径

D.创建新目录 mkdir [-mp] 目录名称

-m:配置文件的权限

-p:帮助你直接将所需要的目录递归创建起来

D.创建新目录 mkdir [-mp] 目录名称

-m:配置文件的权限

-p:将目录递归创建起来

E:删除空目录 rmdir [-p] 目录名称

-p:联通上一级的空目录也一起删除

F:复制文件或目录 cp [-a,d,f,i,l,p,r,u] 原文件 新文件

选项与参数:

-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

-r:递归持续复制,用於目录的复制行为;(常用)

-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

-u:若 destination 比 source 旧才升级 destination !

G:移除文件或目录 rm [-fir] 文件或目录

H:移动文件与目录,或修改名称 mv [-fiu] 原文件 新文件

选项与参数:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

修改文件名称 move test test1 将test文件名重命名为test1

(4)Linux文件内容查看

cat [-AbEnTv]  由第一行开始显示文件内容

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;

tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

nl   显示的时候,顺道输出行号!

more 一页一页的显示文件内容

less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

head 只看头几行 head -n 5 文件名 查看文件的前5行

tail 只看尾巴几行

(5)Linux vi/vim

vi/vim的三种模式:命令模式 输入模式 底线模式

命令模式:

i 切换到输入模式,以输入字符。

x 删除当前光标所在处的字符。

: 切换到底线命令模式,以在最底一行输入命令。

输入模式:

底线命令模式:

q:退出程序

w:保存文件

:n 直接切换至第n行

/x 在文件中搜索x

:$ 切换至文件末尾

:?word 向光标之上寻找word

:n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2

ndd 删除光标所在的向下n行

:set nu 显示行号

:set nonu 不显示行号

:10,20s/^/#/g在10-20行前添加#注释

:10,20s/^#/g 删除10-20行前的#注释

(6)用户和用户组管理

A:添加新的用户账号

useradd 选项 用户名

-c comment 指定一段注释性描述。

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-g 用户组 指定用户所属的用户组。

-G 用户组,用户组 指定用户所属的附加组。

-s Shell文件 指定用户的登录Shell。

-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

useradd –d  /home/sam -m sam

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

useradd -s /bin/sh -g group –G adm,root gem

此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

B:删除用户 userdel 选项 用户名

userdel -r sam

C:修改账号 usermod 选项 用户名

usermod -s /bin/ksh -d /home/z –g developer sam

此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

D:用户口令管理 passwd 选项 用户名

-l 锁定口令,即禁用账号。

-u 口令解锁。

-d 使账号无口令。

-f 强迫用户下次登录时修改口令。

E:linux系统用户组的管理

(1)groupadd 选项 用户组 增加一个新的用户组

-g GID 指定新用户组的组标识号(GID)。

-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

groupadd group1

groupadd -g 101 group

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

(2)groupdel 用户组 删除一个已有用户组

(3)groupmod 选项 用户名 修改用户组的属性

groupmod -g 102 group2 #将组group2的组标识修改为102

Groupmod -g 1000 -n group3 group2 将组group2的标识号改为10000,组名修改为group3。

(7)磁盘管理

Linux磁盘管理常用三个命令为df、du和fdisk。

df:列出文件系统的整体磁盘使用量

du:检查磁盘空间使用量

fdisk:用于磁盘分区

df [-ahikHTm] [目录或文件名]

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

-k :以 KBytes 的容量显示各文件系统;

-m :以 MBytes 的容量显示各文件系统;

-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

-H :以 M=1000K 取代 M=1024K 的进位方式;

-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;

-i :不用硬盘容量,而以 inode 的数量来显示

df 将系统内所有的文件系统列出来

df -h 将容量结果以易读的容量格式显示出来

df -aT 将系统内的所有特殊文件格式以及名称都列出来

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看

du [-ahskm] 文件或目录名称

-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。

-h :以人们较易读的容量格式 (G/M) 显示;

-s :列出总量而已,而不列出每个各别的目录占用容量;

-S :不包括子目录下的总计,与 -s 有点差别。

-k :以 KBytes 列出容量显示;

-m :以 MBytes 列出容量显示;

du 列出当前目录下的所有文件夹容量(包括隐藏文件)

du -a 将文件的容量也列出来

(8)Linux yum命令

基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum [Options] [command] [package]

options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等

command:要进行的操作

package:操作的对象

yum常用命令 yum check-update:列出所有可更新的软件清单命令

yum update:更新所有软件

yum install<package_name>:安装指定的软件

yum update<package_name>:更新指定的软件

yum list:列出所有可安裝的软件清单

yum remove<package_name>:删除软件包

yum search:查找软件包

yum clean packages: 清除缓存目录下的软件包

yum clean headers: 清除缓存目录下的 headers

yum clean oldheaders: 清除缓存目录下旧的 headers