关机
# 将数据由内存同步到硬盘中。
sync
# 关机指令
shutdown
# 计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。
shutdown -h 10
# 立马关机
shutdown -h now
# 系统会在今天20:25关机
shutdown -h 20:25
# 系统立马重启
shutdown -r now
# 系统十分钟后重启
shutdown -r 10
# 重启
reboot
目录
- /bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
- /boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
- /etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
- /lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
- /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
- /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
- /opt: opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- /proc: proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- /root: 该目录为系统管理员,也称作超级权限者的用户主目录。
- /sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
- /selinux: 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
- /srv: 该目录存放一些服务启动之后需要提取的数据。
- /sys: 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。 sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
- /tmp: tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
- /usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
- /usr/bin: 系统用户使用的应用程序。
- /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src: 内核源代码默认的放置目录。
- /var: var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
远程登录
ssh -p 端口号 用户名@ip
[root@linux ~]# -> 用户 分割符 主机名 所在目录 用户身份(非root为$)
[Shift]+{[Page Up]|[Page Down]} 终端翻页
文件基本属性
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。
- 当为 d 则是目录
- 当为 - 则是文件;
- 若是 l 则表示为链接文档(link file);
- 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
r w x
4 2 1
# 更改文件属组
chgrp [-R] 属组名 文件名
# 更改文件属主 属主和属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
# 更改文件权限
chmod [-R] xyz 文件或目录
文件与目录管理
# 列出目录
ls 选项
选项:
-a :全部的文件,连同隐藏文件
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
# pwd (显示目前所在的目录)
pwd [-P]
-P 显示出确实的路径,而非使用连结 (link) 路径
# 创建新目录
mkdir [-mp] 目录名称
-m 配置文件的权限
-p 递归创建目录
eg mkdir -m 711 test
# 删除空的目录
rmdir [-p] 目录名称
# 复制文件或目录
cp [-adfilprsu] 来源档(source) 目标档(destination)
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
# 移除文件或目录
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
# 移动文件与目录,或修改名称
mv [-fiu] source destination
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
文件内容查看
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
# less使用
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
G : 移动到最后一行
g : 移动到第一行
用户和用户组管理
# 新增
useradd 选项 用户名
参数说明:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名:
指定新账号的登录名。
# 删除
userdel 选项 用户名
选项
-r 同时删除用户主目录
# 修改
usermod 选项 用户名
选项同新增
# 用户口令的管理
passwd 选项 用户名
选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
# 新增用户组
groupadd 选项 用户组
选项
-g GID 指定新用户组的组标识号(GID)
# 删除
groupdel 用户组
# 修改
groupmod 选项 用户组
选项
-g GID 为用户组指定新的组标识号
-n新用户组 将用户组的名字改为新名字
# 切换用户组
newgrp 用户组
相关文件
- /etc/passwd
用户管理最重要的一个文件,每个用户都有对应的一行,格式和含义如下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell,为安全起见,该文件存的口令是x,实际口令加密后存在/etc/shadow中,系统中存在一类用户叫做伪用户,虽然也占用一条记录,但是不能登录。 - /etc/shadow
格式:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志,时间以天为单位 - /etc/group
用户组文件,格式:
组名:口令:组标识号:组内用户列表
磁盘管理
# df(英文全称:disk full):列出文件系统的整体磁盘使用量
# du(英文全称:disk used):检查磁盘空间使用量
df [-ahikHTm] [目录或文件名]
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示
du [-ahskm] 文件或目录名称
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;
vi/vim
命令模式
基本操作
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
移动光标
- (↑↓←→)移动光标,(数字+键,多次移动)
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- G 文档最后一行
搜索替换
- / 正向搜索
- ? 反向搜索
- n 重复前一个动作
- N 反向重复前一个动作
- :n1,n2s/word1/word2/g 从n1行到n2行搜索word1并用word2替换
- :n1,$s/word1/word2/g 从n1到最后一行
- :%s/word1/word2/g 整个文档
删除、复制与粘贴
- x, X 向后、向前删除字符
- nx 连续向后删除n个字符
- dd 剪切
- ndd 连续向下剪切n行
- d$ 删除游标所在至最后一个字符
- d0 删除游标所在至第一个字符
- yy 复制行
- nyy 复制所在向下n行
- y0 复制游标所在至最后一个字符
- y$ 复制游标所在至第一个字符
- p, P 粘贴
- u 撤销
- . 重复上一个动作
输入模式
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
底线命令模式
- :set nu 显示行号
- :set nonu 取消行号
yum
yum [options] [command] [package ...]
- 列出所有可更新的软件清单命令:yum check-update
- 更新所有软件命令:yum update
- 仅安装指定的软件命令:yum install <package_name>
- 仅更新指定的软件命令:yum update <package_name>
- 列出所有可安裝的软件清单命令:yum list
- 删除软件包命令:yum remove <package_name>
- 查找软件包命令:**yum search **
安装yum源
cd /etc/yum.repos.d/
# 备份源
mv CentOS-Base.repo CentOS-Base.repo.bak
# 下载对应的163源
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo CentOS-Base.repo
# 生成缓存
yum clean all
yum makecache
参考资料
命令大全:https://www.runoob.com/linux/linux-command-manual.html
常用命令全拼:https://www.runoob.com/w3cnote/linux-command-full-fight.html