Linux内核网站:The Linux Kernel Archives
Centos下载:Index of /centos/ (163.com)、阿里云开源镜像站资源目录 (aliyun.com)
分区:引导分区1G、交换分区与内存相同、根分区。
文件目录
bin:存放常用的指令
boot:系统启动时用到的文件
dev:把硬件映射成文件
etc:配置文件
home:存放普通用户的目录
lib:系统启动所需的动态连接共享库
lost+found:非法关机后产生的文件
media:识别的设备如U盘
mnt:临时挂载别的文件系统
opt:安装额外软件的存放位置,压缩包
proc:系统内存映射,获取系统信息
root:root用户的文件
sbin:管理员使用的管理命令
selinux:安全子系统,控制程序访问权限
srv:服务启动后需要的数据
sys:linux2.6内核中的文件系统sysfs
tmp:临时文件
usr:安装的应用的目录
usr/local:安装软件的目录,解压后的文件
var:存放不断扩充的文件,日志文件
连接服务器
使用Xshell软件连接服务器,使用Xftp软件上传下载服务器文件。
Xshell、Xftp:
新建连接,输入服务器主机ip,连接,接受并保存,输入用户名和密码。
文本编辑
vi:文本编辑器
vim:vi的增强版,代码补全,文字颜色。
模式
正常模式
默认,可以使用删除复制粘贴。
插入模式(编辑)
按i,I,o,O,a,A,r,R,其中一个可以进入编辑模式。
命令行模式(输命令)
按Esc,再输入冒号:,再输入wq并按回车,表示写入并退出。输入:q表示退出。输入:q!表示不保存并强制退出。
可以使用读取、存盘、替换、退出、显示行号等。
命令
拷贝当前行:yy 拷贝当前行并往下总共3行:3yy 粘贴:p
删除当前行:dd 删除当前行并往下总共3行:3dd
查找:输入正斜杠/,输入查找的内容并按回车,按下按键n查找下一个
显示行号:输入:set nu并回车 不显示行号:输入:set nonu
回到顶部首行:按下按键gg 回到尾部末行:按下按键大写的G
撤销操作:按下按键u
跳转到指定行:输入行号并按下按键大写的G
移动光标:hjkl(左下上右) 移动光标次数:输入次数并按下hjkl
上一页:Ctrl+b ,下一页:Ctrl+f ,向上半页:Ctrl+u ,向下半页:Ctrl+d
移动光标到非空格的下一列:+ ,移动光标到非空格的上一列:-
光标向后移动指定次数:输入次数并按下空格
光标移动到一行的前面:数字0 ,光标移动到一行的后面:$
光标移动到第一行的开头:H ,光标移动到屏幕中央那一行的开头:M ,光标移动到屏幕最下方那一行的开头:L ,光标移动到最后一行:G
删除前面的字符:按下按键X ,删除后面的字符:按下按键x
关机
立刻关机:shutodown -h now
或者 halt
,1分钟后关机:shutdown -h 1 "提示信息"
, 重启: shutdown -r now
或者 reboot
把内存的数据同步到磁盘:sync
用户
切换账号:su - 用户名
,权限高的用户切换权限低用户不需要输入密码 ;注销用户:logout
(运行级别3有效)
添加用户:useradd 用户名
,默认该用户的目录在home/用户名
;创建指定目录的用户:useradd -d /home/user/test 用户名
修改用户的密码:passwd 用户
,显示当前用户所在的目录:pwd
删除用户并删除用户的目录:userdel -r xxx
, 删除用户不删除用户的目录:userdel xxx
查看用户信息:id 用户名
,查看当前登录的用户:who am i
用户组
查看文件的所有者和所在的组:ls -ahl 文件名
或者ll 文件名
, 修改文件的所有者:chown 用户名 文件名
,修改文件所在的组:chgrp 组名 文件名
, 修改多级目录所在的组:chgrp -R 组名 目录名
,
创建组groupadd 组名
,删除组groupdel 组名
,添加用户时直接分配指定的组useradd -g 组名 用户名
,
修改用户的组usermod -g 组名 用户名
, 修改用户登录的初始目录:usermod -d 目录名 用户名
实用命令
根据名称匹配显示目录下的文件:ls -l *sh
,查看以sh结尾的文件;
显示目录的详细信息文件大小用M显示:ls -lh
;
显示当前的日历信息:cal
,
创建一个空文件:touch 文件名
,
查看ip:ifconfig
运行级别
centos7之前运行级别在/etc/inittab文件中,
0:关机,1:单用户(找回丢失的密码),2:多用户状态没有网络服务,3:多用户状态有网络服务, 4:系统未使用 保留给用户,5:图形界面,6:系统重启
切换指定的运行级别:init 运行级别
,查看当前的运行级别:systemctl get-default
, 设置开机默认的运行级别3为多用户:systemctl set-default multi-user.target
,运行级别5图形界面:systemctl set-default graphical.target
单用户级别找回root密码,
帮助指令
man获得帮助信息:man ls
, 查看ls命令的帮助信息;
help获得shell内置命令的帮助信息:help cd
,查看cd命令的帮助信息;
文件目录
查看当前目录的绝对路径:pwd
,
显示当前目录所有的文件和目录包括隐藏的:ls -a
,以列表的方式显示信息:ls -l
,可以组合使用ls -la
,
回到当前用户的家目录:cd ~
,root用户的家目录在/root ,其他用户的家目录在/home/用户名 ;回到上一级目录:cd ..
,
创建目录:mkdir /目录名
,创建多级目录:mkdir -p /目录名/目录名
, 删除空的目录:rmdir /目录名
, 删除非空的目录:rm -rf /目录名
,创建一个空文件:touch 文件名
,
拷贝文件到指定目录:cp 文件名 指定目录
,递归复制整个文件夹到目标目录:cp -r 目录 目标目录
,递归复制整个文件夹到目标目录并强制覆盖:\cp -r 目录 目标目录
,
删除文件或目录:rm 文件名
, 递归删除整个文件夹:rm -r 文件夹
, 强制删除不提示:rm -f 文件夹
,
重命名:mv 旧名字 新名字
,移动文件:mv 文件名 目标目录
,移动目录:mv 目录 目标目录
,
查看文件的内容:cat 文件名
, 显示行号:cat -n 文件名
;使用管道命令查看:cat 文件名 | more
管道命令:把结果交给下一个命令处理;使用more查看指定的文件:more 文件名
,more指令查看时的快捷键:空格表示向下翻一页,回车表示向下翻一行,q表示离开more,Ctrl+f表示向下滚动一屏,Ctrl+b表示返回上一屏,=表示输出当前的行号,:f表示输出文件名和当前的行号。
根据显示需要加载内容:less 文件名
, 适合查看大型文件;less指令的快捷键:空格表示向下翻一页,pagedown向下翻一页,pageup向上翻一页,/字符串 表示向下查找字符串 按n向下查找 按N向上查找,?字符串 表示向上查找字符串 … ,q表示离开less。
输出内容到控制台:echo 内容
, 输出环境变量的值:echo $PATH,$HOSTNAME
,
显示文件的前几行,默认10行:head 文件名
, 显示文件的前5行:head -n 5 文件名
, 显示文件末尾的5行:tail -n 5 文件名
,实时追踪文件的所有更新:tail -f 文件名
,
输出重定向>:echo "abc" > a.txt
, 将原本要输出在控制台的内容输出到a.txt文件中(覆盖a.txt文件)。追加到a.txt文件中:ls -l >> a.txt
,将列表的目录信息内容追加到a.txt文件的末尾(追加到a.txt文件)。如果a.txt文件不存在则会自动创建。
创建软链接也叫符号链接:ln -s 原文件或目录 软链接名
, 与win系统的快捷方式类似;删除软链接:rm 软链接名
,
查看已经执行过的历史命令:history
,查看最近10条历史命令:history 10
,执行历史命令对应编号的指令:!编号
,
时间日期
显示当前的时间:date
,显示当前年份:date +%Y
, 显示当前月份:date +%m
, 显示当前是哪一天:date %d
,显示年月时分秒:date "+%Y-%m-%d %H:%M:%S"
,
设置系统当前时间:date -s "2020-01-01 01:01:01"
, 查看当前日历:cal
, 查看2000年的日历:cal 2000
,
查找
根据文件名查找文件:find 查找目录 -name 文件名
, 根据文件归属者查找:find 查找目录 -user 用户名
, 根据文件大小查找大于10M的文件:find 查找目录 -size +10M
;文件大小表示:+10M大于,-10M小于,10M等于;单位:k,M,G。
快速定位文件位置:首先执行updatedb
指令创建locate数据库,然后使用locate指令自动从数据库中查找:locate 文件名
,
查看某个指令在哪个目录下:which ls
, 查看ls指令在哪个目录。
查找文件中的字符:grep 字符串 文件名
, 查找匹配后显示行号:grep -n 字符串 文件名
,查找匹配忽略大小写:grep -i 字符串 文件名
, 使用管道符查找:cat 文件名 | grep 字符串
。
压缩
压缩文件:gzip 文件
, 解压文件:gunzip 文件
,压缩为.gz文件,
递归压缩文件夹或者文件:zip -r 压缩后的文件名.zip 压缩的文件夹
, 解压文件:unzip -d 解压后的目录 压缩文件名.zip
,
打包文件:tar -zcvf 打包后文件名.tar.gz 打包的文件1 打包的文件2
,解压文件:tar -zxvf 文件名.tar.gz
, 解压到指定的目录:tar -zxvf 文件名.tar.gz -C 解压后的目录
; -选项:-c表示产生.tar打包文件,-v表示显示详细信息,-f表示指定压缩后的文件名,-z表示打包同时压缩,-x表示解包.tar文件。
权限
最前面0-9位表示的含义说明:第0位表示文件的类型(-:普通文件,l:链接文件,d:目录,c:字符设备文件如鼠标键盘,b:块设备如硬盘),第1-3位表示所有者的权限(r:读,w:写,x:执行),第4-6位表示所属组的权限,第7-9位表示其他用户的权限。
(421)rwx:r表示可以读取、查看r文件,可以读取查看r目录内容;w表示可以修改w文件但是不能删除,删除w文件必须要文件所在w目录的权限,可以重命名w目录名字,创建、删除w目录内文件;x表示可以执行x文件,可以进入x目录修改x目录内的文件。
后面的1或者2表示文件的个数或者目录中文件的个数 , 第一个root为文件的所有者,第二个root为文件的所在组 ,后面的14表示文件的大小 , 后面表示最后修改的日期 , 最后面是文件名。
u:所有者,g:所有组,o:其他人,a:所有人(u,g,o)
修改权限:chmod u=rwx,g=rwx,o=rx 文件名或目录名
, 添加权限:chmod o+w 文件名或目录名
, 删除权限:chmod a-x 文件名或目录名
,第二种方式使用数字修改权限:chmod 777 文件名或目录名
,
所有者
修改文件的所有者:chown 用户名 文件名或目录名
, 修改文件的所有者和所在组:chown 用户名:组名 文件名或目录名
, 修改多级目录的所有者:chown -R 用户名 目录名
,
定时任务
网络配置
设置静态ip
修改文件/etc/sysconfig/network-scripts/ifcfg-ens33
, 修改内容:
DEVICE=eth0 # 接口名(设备、网卡)
HWADDR=00:0C:2x:6x:0x:xx #MAC地址
TYPE="Ethernet" # 网络类型(通常是Ethernet)
UUID=098908-8900-sd90-9fds09 #随机id
#系统启动的时候网路接口是否有效(yes/no)
ONBOOT=yes
#IP的配置方法[none|static|abootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
BOOTPROTO=static
#ip地址
IPADDR=192.168.200.110
#网关
GATEWAY=192.168.200.2
#域名解析器
DNS1=192.168.200.2
生效:service network restart
或者重启reboot
设置主机名
查看主机名:hostname
, 修改主机名文件:/etc/hostname
,修改好后重启
主机名映射ip
修改windows文件C:\Windows\System32\drivers\etc
, 添加192.168.xx.xx 主机名
,访问主机名时会访问对应的IP。
查看DNS域名解析缓存:ipconfig /displaydns
手动清理DNS缓存:ipconfig /flushdns
rpm
查询已安装的rpm列表:rpm -qa
, 管道过滤查询已安装的包名:rpm -qa | grep 包名
。
名字中属性的含义:i686或i386表示32位系统,x86_64表示64位系统,noarch表示通用。
查询是否安装了某个软件包:rpm -q 软件包名
,
1. 文件与文件夹操作
1.1 创建文件夹
mkdir 命令, 必须目标文件夹的父文件夹都存在, 否则执行不成功.
mkdir /zichen
[root@MyCentOs7 /]# mkdir /zichen2/1
mkdir: cannot create directory ‘/zichen2/1’: No such file or directory
mkdir -p 命令, 强制创建.
mkdir -p /zichen2/1
1.2 创建文件
touch、vi、echo命令用于创建文件.
touch /zichen/1.txt
批量创建文件: 第1个数表示起始, 第2个数表示结束, 第3个数表示步长.
[root@MyCentOs7 zichen]# touch /zichen/{1..4..1}.mp3
[root@MyCentOs7 zichen]# ll
total 0
-rw-r--r-- 1 root root 0 Aug 31 16:13 1.txt
-rw-r--r-- 1 root root 0 Aug 31 16:14 2.mp3
-rw-r--r-- 1 root root 0 Aug 31 16:14 3.mp3
-rw-r--r-- 1 root root 0 Aug 31 16:14 4.mp3
vi 和 vim 命令打开一个不存在的文件, 就会创建该文件.
vi 命令, :wq 保存并退出.
[root@MyCentOs7 zichen]# vi 3.mp4
echo 命令在屏幕上打印信息, 结合 > 和 >> 就会创建文件.
echo 命令, >表示覆盖, >> 表示追加.
[root@MyCentOs7 zichen]# echo Hello World!
Hello World!
[root@MyCentOs7 zichen]# echo Hello World! > 2.txt
1.3 删除文件夹
rm 命令, 参数 -r 表示递归删除, 参数 -f 表示强制删除不会提示是否删除, 禁止使用: rm -rf /* 表示删除系统所有文件.
[root@MyCentOs7 /]# rm -r /zichen2/
rm: descend into directory ‘/zichen2/’? y
rm: remove directory ‘/zichen2/1’? y
rm: remove directory ‘/zichen2/’? y
1.4 删除文件
[root@MyCentOs7 /]# rm /zichen/1.txt
rm: remove regular empty file ‘/zichen/1.txt’? y
1.5 切换目录
cd 命令,
进入当前目录下的 zichen 目录;
返回上一级目录;
进入根目录下的 zichen 目录, zichen 目录下的 1 目录;
返回上一级目录, 再返回上一级目录.
[root@MyCentOs7 /]# cd zichen
[root@MyCentOs7 zichen]# cd ..
[root@MyCentOs7 /]# cd /zichen/1
[root@MyCentOs7 1]# cd ../../
[root@MyCentOs7 /]#
1.6 复制粘贴文件夹
cp 命令.
[root@MyCentOs7 b]# cp -a /zichen/b /zichen2/
1.7 复制粘贴文件
cp 命令, 复制根目录下的 zichen 文件夹中的文件 1.txt , 粘贴到根目录下的 zichen2 文件夹中.
[root@MyCentOs7 zichen]# cp /zichen/1.txt /zichen2/
[root@MyCentOs7 zichen]# ll /zichen2
total 0
-rw-r--r-- 1 root root 0 Aug 31 16:45 1.txt
[root@MyCentOs7 zichen]#
复制文件并重命名文件名, 复制根目录下的 zichen 文件夹中的文件 2.txt , 粘贴到根目录下的 zichen2 文件夹中, 并重命名为 new.txt 文件.
[root@MyCentOs7 zichen]# cp /zichen/2.txt /zichen2/new.txt
[root@MyCentOs7 zichen]# ll /zichen2/
total 4
-rw-r--r-- 1 root root 0 Aug 31 16:45 1.txt
-rw-r--r-- 1 root root 46 Aug 31 17:17 new.txt
[root@MyCentOs7 zichen]#
将目录下所有文件复制到其他目录下, 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
[root@MyCentOs7 3]# cp -r /zichen/* /zichen2/3/
1.8 查看当前工作目录
pwd 命令.