1. Linux 开关机命令
shutdown 命令可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
命令语法参数参数说明shutdownshutdown [-t seconds] [-rkhncfF] time [message] -t seconds设定在几秒钟之后进行关机程序 -k并不会真的关机,只是将警告讯息传送给所有只用者 -r关机后重新开机(重启) -h关机后停机 -n不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机 -c取消目前已经进行中的关机动作 -f关机时,不做 fcsk 动作(检查 Linux 档系统) -F关机时,强迫进行 fsck 动作 time设定关机的时间 message传送给所有使用者的警告讯息1.1 重启命令
- reboot
- shutdown -r now
1.2 关机命令
- shutdown -h now
2. Linux 操作文件目录命令
命令说明语法参数参数说明ls显示文件和目录列表ls [-alrtAFR] [name...] -l列出文件的详细信息 -a列出当前目录所有文件,包含隐藏文件mkdir创建目录mkdir [-p] dirName -p父目录不存在情况下先生成父目录cd切换目录cd [dirName] touch生成一个空文件 echo生成一个带内容文件echo abcd > 1.txt,echo 1234 >> 1.txt cat显示文本文件内容cat [-AbeEnstTuv] [--help] [--version] fileName cp复制文件或目录cp [options] source dest rm删除文件rm [options] name... -f强制删除文件或目录 -r同时删除该目录下的所有文件mv移动文件或目录,或重命名mv [options] source dest find在文件系统中查找指定的文件 -name文件名grep在指定的文本文件中查找指定的字符串grep 字符串 文件名 tree用于以树状图列出目录的内容并不是每一个版本的linux都有该命令 pwd显示当前工作目录 ln建立软链接 more分页显示文本文件内容 head显示文件开头内容 tail显示文件结尾内容 -f跟踪输出3. Linux 系统管理命令
命令说明stat显示指定文件的相关信息,比ls命令显示内容更多who显示在线登录用户hostname显示主机名称uname显示系统信息top显示当前系统中耗费资源最多的进程ps显示瞬间的进程状态du显示指定的文件(目录)已使用的磁盘空间的总量df显示文件系统磁盘空间的使用情况free显示当前内存和交换空间的使用情况ifconfig显示网络接口信息ping测试网络的连通性netstat显示网络状态信息clear清屏kill杀死一个进程4. Linux 压缩命令
4.1 tar命令
命令语法参数参数说明tartar [-cxzjvf] 压缩打包文档的名称 欲打包目录 -c建立一个归档文件的参数指令 -x解开一个归档文件的参数指令 -z是否需要用 gzip 压缩 -j是否需要用 bzip2 压缩 -v压缩的过程中显示文件 -f使用档名,在 f 之后要立即接档名 -tf查看归档文件里面的文件例子:
- 压缩文件夹:
tar -zcvf test.tar.gz test\
- 解压文件夹:
tar -zxvf test.tar.gz
4.2 gzip命令
命令语法参数参数说明gzipgzip [选项] 压缩(解压缩)的文件名 -d解压缩 -l对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字 -v对每一个压缩和解压的文件,显示文件名和压缩比 -num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6说明:压缩文件后缀为 gz
4.3 bzip2命令
命令语法参数参数说明bzip2bzip2 [-cdz] -d解压缩 -z压缩参数 -num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6说明:压缩文件后缀为 bz2
5 Linux 用户和组管理命令
5.1 概述
Linux 操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
5.2 使用 Root 用户
在实际生产操作中,我们基本上都是使用超级管理员账户操作 Linux 系统,也就是 Root 用户,Linux 系统默认是关闭 Root 账户的,我们需要为 Root 用户设置一个初始密码以方便我们使用。
5.2.1 设置 Root 账户密码
sudo passwd root
5.2.2 切换到 Root
su
5.2.3 设置允许远程登录 Root
nano /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password //注释此行
PermitRootLogin yes //加入此行
StrictModes yes
重启服务
service ssh restart
5.3 用户账户说明
5.3.1 普通用户
普通用户在系统上的任务是进行普通操作
5.3.2 超级管理员
管理员在系统上的任务是对普通用户和整个系统进行管理。对系统具有绝对的控制权,能够对系统进行一切操作。用 root 表示,root 用户在系统中拥有最高权限,默认下 Ubuntu 用户的 root 用户是不能登录的。
5.3.3 安装时创建的系统用户
此用户创建时被添加到 admin 组中,在 Ubuntu 中,admin 组中的用户默认是可以使用 sudo
命令来执行只有管理员才能执行的命令的。如果不使用 sudo
就是一个普通用户。
5.4 组账户说明
5.4.1 私有组
当创建一个用户时没有指定属于哪个组,Linux 就会建立一个与用户同名的私有组,此私有组只含有该用户。
5.4.2 标准组
当创建一个用户时可以选定一个标准组,如果一个用户同时属于多个组时,登录后所属的组为主组,其他的为附加组。
5.5 账户系统文件说明
5.5.1 /etc/passwd
每一行代表一个账号,众多账号是系统正常运行所必须的,例如 bin,nobody 每行定义一个用户账户,此文件对所有用户可读。每行账户包含如下信息:
root:x:0:0:root:/root:/bin/bash
- 用户名: 就是账号,用来对应 UID,root UID 是 0。
- 口令: 密码,早期 UNIX 系统密码存在此字段,由于此文件所有用户都可以读取,密码容易泄露,后来这个字段数据就存放到 /etc/shadow 中,这里只能看到 X。
- 用户标示号(UID): 系统内唯一,root 用户的 UID 为 0,普通用户从 1000 开始,1-999 是系统的标准账户,500-65536 是可登陆账号。
- 组标示号(GID): 与 /etc/group 相关用来规定组名和 GID 相对应。
- 注释: 注释账号
- 宿主目录(主文件夹): 用户登录系统后所进入的目录 root 在 /root/itcast
- 命令解释器(shell): 指定该用户使用的 shell ,默认的是 /bin/bash
5.5.2 /etc/shadow
为了增加系统的安全性,用户口令通常用 shadow passwords 保护。只有 root 可读。每行包含如下信息:
root:$6$Reu571.V$Ci/kd.OTzaSGU.TagZ5KjYx2MLzQv2IkZ24E1.yeTT3Pp4o/yniTjus/rRaJ92Z18MVy6suf1W5uxxurqssel.:17465:0:99999:7:::
- 账号名称: 需要和 /etc/passwd 一致。
- 密码: 经过加密,虽然加密,但不表示不会被破解,该文件默认权限如下:
- -rw------- 1 root root 1560 Oct 26 17:20 passwd-
- 只有root能都读写
- 最近修改密码日期: 从1970-1-1起,到用户最后一次更改口令的天数
- 密码最小时间间隔: 从1970-1-1起,到用户可以更改口令的天数
- 密码最大时间间隔: 从1970-1-1起,必须更改的口令天数
- 密码到期警告时间: 在口令过期之前几天通知
- 密码到期后账号宽限时间
- 密码到期禁用账户时间: 在用户口令过期后到禁用账户的天数
- 保留
5.5.3 /etc/group
用户组的配置文件
root:x:0:
- 用户组名称
- 用户组密码: 给用户组管理员使用,通常不用
- GID: 用户组的ID
- 此用户支持的账号名称: 一个账号可以加入多个用户组,例如想要 itcast 加入 root 这个用户组,将该账号填入该字段即可 root:x:0:root, icast 将用户进行分组是 Linux 对用户进行管理及控制访问权限的一种手段。一个中可以有多个用户,一个用户可以同时属于多个组。该文件对所有用户可读。
5.5.4 /etc/gshadow
该文件用户定义用户组口令,组管理员等信息只有root用户可读。
root:\*::
- 用户组名
- 密码列
- 用户组管理员的账号
- 用户组所属账号
5.6 账户管理常用命令
5.6.1 增加用户
useradd 用户名
useradd -u (UID号)
useradd -p (口令)
useradd -g (分组)
useradd -s (SHELL)
useradd -d (用户目录)
例1,如:useradd lusifer
增加用户名为 lusifer 的账户
例2,如:建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组:
代码如下:
useradd -u 544 -d /usr/testuser1 -g users -m testuser1
加-m 表示如果主目录不存在则自动创建.
例3,使用管理员账号登陆系统,建立用户tmp_3452 密码3sdt5:Eawhg
添加用户命令: 代码如下:
[root@ptr228 ~]# adduser tmp_3452 修改密码命令: [root@ptr228 ~]# passwd tmp_3452
在系统出现提示输入密码是输入密码:3sdt5:Eawhg 系统提示输入确认密码后再输入一次。OK添加成功。
5.6.2 修改用户
usermod -u (新UID)
usermod -d (用户目录)
usermod -g (组名)
usermod -s (SHELL)
usermod -p (新口令)
usermod -l (新登录名)
usermod -L (锁定用户账号密码)
usermod -U (解锁用户账号)
如:usermod -u 1024 -g group2 -G root lusifer
将 lusifer 用户 uid 修改为 1024,默认组改为系统中已经存在的 group2,并且加入到系统管理员组
5.6.3 删除用户
userdel 用户名 (删除用户账号)
userdel -r 删除账号时同时删除目录
如:userdel -r lusifer
删除用户名为 lusifer 的账户并同时删除 lusifer 的用户目录
5.6.4 组账户维护
groupadd 组账户名 (创建新组)
groupadd -g 指定组GID
groupmod -g 更改组的GID
groupmod -n 更改组账户名
groupdel 组账户名 (删除指定组账户)
5.6.5 口令维护
passwd 用户账户名 (设置用户口令)
passwd -l 用户账户名 (锁定用户账户)
passwd -u 用户账户名 (解锁用户账户)
passwd -d 用户账户名 (删除账户口令)
gpasswd -a 用户账户名 组账户名 (将指定用户添加到指定组)
gpasswd -d 用户账户名 组账户名 (将用户从指定组中删除)
gpasswd -A 用户账户名 组账户名 (将用户指定为组的管理员)
5.6.6 用户和组状态
su 用户名(切换用户账户)
id 用户名(显示用户的UID,GID)
whoami (显示当前用户名称)
groups (显示用户所属组)
6. Linux 文件权限管理
6.1 查看文件和目录的权限
ls –al使用 ls 不带参数只显示文件名称,通过
ls –al` 可以显示文件或者目录的权限信息。
ls -l 文件名
显示信息包括:文件类型 (d
目录,-
普通文件,l
链接文件),文件权限,文件的用户,文件的所属组,文件的大小,文件的创建时间,文件的名称
-rw-r--r-- 1 lusifer lusifer 675 Oct 26 17:20 .profile
-
:普通文件rw-
:说明用户 lusifer 有读写权限,没有运行权限r--
:表示用户组 lusifer 只有读权限,没有写和运行的权限r--
:其他用户只有读权限,没有写权限和运行的权限
-rw-r--r--1lusiferlusifer675Oct 26 17:20.profile文档类型及权限连接数文档所属用户文档所属组文档大小文档最后被修改日期文档名称
-rw-r--r--文档类型文档所有者权限(user)文档所属用户组权限(group)其他用户权限(other)
6.2 文档类型
d
表示目录l
表示软连接–
表示文件c
表示串行端口字符设备文件b
表示可供存储的块设备文件- 余下的字符 3 个字符为一组。
r
只读,w
可写,x
可执行,-
表示无此权限
6.3 连接数
指有多少个文件指向同一个索引节点。
6.4 文档所属用户和所属组
就是文档属于哪个用户和用户组。文件所属用户和组是可以更改的
6.5 文档大小
默认是 bytes
6.6 更改操作权限
6.6.1 chown
是 change owner 的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组
chown [-R] 用户名称 文件或者目录
chown [-R] 用户名称 用户组名称 文件或目录
-R:进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限
6.6.2 chmod
改变访问权限
chmod [who] [+ | - | =] [mode] 文件名
6.6.3 who
表示操作对象可以是以下字母的一个或者组合
- u:用户 user
- g:用户组 group
- o:表示其他用户
- a:表示所有用户是系统默认的
6.6.4 操作符号
- +:表示添加某个权限
- -:表示取消某个权限
- =:赋予给定的权限,取消文档以前的所有权限
6.6.5 mode
表示可执行的权限,可以是 r、w、x
6.6.6 文件名
文件名可以使空格分开的文件列表
示例
lusifer@UbuntuBase:~$ ls -al test.txt
-rw-rw-r-- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$ chmod u=rwx,g+r,o+r test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrw-r-- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$
6.7 数字设定法
数字设定法中数字表示的含义
- 0 表示没有任何权限
- 1 表示有可执行权限 =
x
- 2 表示有可写权限 =
w
- 4 表示有可读权限 =
r
也可以用数字来表示权限如 chmod 755 file_name
r w xr – xr - x4 2 14 - 14 - 1usergroupothers若要 rwx 属性则 4+2+1=7
若要 rw- 属性则 4+2=6
若要 r-x 属性则 4+1=5
lusifer@UbuntuBase:~$ chmod 777 test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrwxrwx 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$ chmod 770 test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrwx--- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
7.Linux 软件包管理命令
7.1 概述
APT(Advanced Packaging Tool) 是 Debian/Ubuntu 类 Linux 系统中的软件包管理程序, 使用它可以找到想要的软件包, 而且安装、卸载、更新都很简便;也可以用来对 Ubuntu 进行升级; APT 的源文件为 /etc/apt/
目录下的 sources.list
文件。
7.2 修改数据源
由于国内的网络环境问题,我们需要将 Ubuntu 的数据源修改为国内数据源,操作步骤如下:
7.2.1 查看系统版本
lsb_release -a
输出结果为
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: yakkety
注意: Codename 为 yakkety
,该名称为我们 Ubuntu 系统的名称,修改数据源需要用到该名称
7.2.2 编辑数据源
vi /etc/apt/sources.list
删除全部内容并修改为
deb http://mirrors.aliyun.com/ubuntu/ yakkety main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ yakkety-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ yakkety-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ yakkety-backports main restricted universe multiverse
7.2.3 更新数据源
apt-get update
7.3 常用 APT 命令
7.3.1 安装软件包
apt-get install packagename
7.3.2 删除软件包
apt-get remove packagename
7.3.3 更新软件包列表
apt-get update
7.3.4 升级有可用更新的系统(慎用)
apt-get upgrade
7.4 其它 APT 命令
7.4.1 搜索
apt-cache search package
7.4.2 获取包信息
apt-cache show package
7.4.3 删除包及配置文件
apt-get remove package --purge
7.4.4 了解使用依赖
apt-cache depends package
7.4.5 查看被哪些包依赖
apt-cache rdepends package
7.4.6 安装相关的编译环境
apt-get build-dep package
7.4.7 下载源代码
apt-get source package
7.4.8 清理无用的包
apt-get clean && apt-get autoclean
7.4.9 检查是否有损坏的依赖
apt-get check