常识
Linux中全部都是文件
Linux中把用户和文件关系化为三类:所有者,所属组,其他人
Linux中的权限,够用就好,例如非可执行文件无需给用户执行权限
Linux中严格区分大小写
$代表普通用户,#代表管理员root
目录知识
/bin 存放二进制可执行文件,一般常用命令都放在这里(所有用户都可执行的命令)
/etc 存放系统管理和配置文件
/home 用户的宿主(家)目录,存放所有用户文件的根目录,是用户主目录的基点,例如用户zbk的目录就是/home/zbk
/usr 这不是user的缩写,而是Unix Software Resource的缩写,存放系统软件资源的目录。系统中安装的软件大多数保存在这里。
/usr/bin 众多的应用程序 ,其中的命令是所有用户都可以执行的
/usr/sbin 超级用户的一些管理程序 ,其中的命令是管理员用户才可以执行的
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档,其中man是manual手册的缩写
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
/opt 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里。
/proc 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/root 超级用户(系统管理员)的主目录
/sbin 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig
/dev 用于存放设备文件。
/mnt 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统。
/boot 存放用于系统引导时使用的各种文件
/lib 存放跟文件系统中的程序运行所需要的共享库及内核模块。共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。
/tmp 用于存放各种临时文件,是公用的临时文件存储点。
/var 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
基本命令格式 ([]表示可选)
命令 [-选项] [参数]
选项指操作的功能,参数指操作的对象
-代表简化选项,--代表完整选项
ls(list)
命令所在路径: /bin/ls
权限:所有用户
作用:列出文件列表
选项:
-a(all): 查看所有文件(包含隐藏文件)
一般以.开头的文件是隐藏文件
-l(long): 长格式显示,会显示文件具体信息
-rw-r--r-- 1 root root 1234 3月 3 08:10 xxx.cfg
1 2 3 4 5 6 7 8 9 10
1:文件类型(-代表二进制文件,d代表目录,l代表软链接文件)
2:u(所有者),其中r代表读权限,w代表写权限,x代表执行权限
例如rw-r--r--代表所有者具有读写权限无执行权限,所属组具有读权限无写和执行权限,其他人具有读权限无写和执行权限
3:g(所属组),同上
4:o(其他人),同上
5:节点数(引用计数)
6:所有者
7:所属组
8:文件大小(默认字节大校)
9:文件最后一次修改时间,如果未进行修改,则表示文件创建时间(只有当文件未进行修改才代表创建时间,Linux中没有文件创建时间这个概念)
10:文件名称
-h: 人性化显示,一般改变文件显示大小,例如将文件大小1205显示为1.2K
-d: 显示当前目录本身的属性,配合-l使用
-i(inode):显示当前目录下的所有文件的inode(节点)编号
Linux中将所有文件进行了编号,唯一索引
参数:
操作路径
mkdir(make directories)
命令所在路径: /bin/mkdir
权限:所有用户
作用:创建目录
选项:
-p:递归创建,即如没有父目录则创建父目录
参数:
要创建目录的全路径
可添加多个参数,代表同时创建多个目录
cd(change directory)
命令所在路径: shell内置命令
权限:所有用户
作用:切换到指定目录
参数:
要创建目录的全路径
可添加多个参数,代表同时创建多个目录
全路径指切换到指定目录,..代表切换到上一级目录,.表示当前目录
pwd(print working directory)
命令所在路径: /bin/pwd
权限:所有用户
作用:显示当前所在目录
rmdir(remove empty directories)
命令所在路径: /bin/rmdir
权限:所有用户
作用:删除指定空目录
参数:
要删除的目录路径
cp(copy)
命令所在路径: /bin/cp
权限:所有用户
作用:复制文件或目录
格式: cp [-选项] [源文件或目录] [目标目录]
选项:
-r: 复制目录
-p: 保留文件当前属性(例如文件最后修改时间)
参数:
1.源文件或目录(可多个文件或目录)
2.目标目录(只有一个目标目录)
备注:
可在复制时进行更名,只需要在目标位置后添加新名称即可
mv(move)
命令所在路径: /bin/mv
权限:所有用户
作用:剪切文件或目录、更名
格式: mv [源文件或目录] [目标目录]
参数:
1.源文件或目录(可多个文件或目录)
2.目标目录(只有一个目标目录)
备注:
可在剪切时进行更名,只需要在目标位置后添加新名称即可
如果只想进行文件或目录的更名,只需将目标目录写成当前目录+新名字就好
clear或者alt+r
作用:清屏
ctrl+c
作用:终止当前进行的操作
rm(remove)从删库到跑路的命令,强大,无敌,慎用
命令所在路径: /bin/rm
权限:所有用户
作用:删除文件或目录
格式: rm [-选项] [文件或目录]
选项:
-r: 删除目录
-f(force): 不询问强制执行
参数:
要删除的目录或文件
备注:
不加-f选项会进行确认,如果加了-f请自行仔细确认,
如果一不小心写了rm -rf /(意味着不询问强制删除根目录),请立马跑出公司大楼并买票跑路
建议删除任何文件前,进行相应的备份,如果真的进行了误操作,在删除后尽量减少对磁盘的读写操作,可以加大将来恢复数据的可能性
touch
命令所在路径: /bin/touch
权限:所有用户
作用:创建空文件
格式: touch [文件名]
参数:
要创建的文件名,如果不加路径就指在当前目录下创建。创建有空格的文件时需要加"",但并不建议
cat
命令所在路径: /bin/cat
权限:所有用户
作用:显示文件内容(不适合浏览内容多的文件)
格式: cat [文件名]
选项:
-n: 显示行号
参数:
要查看的文件名,全路径或当前目录下的文件名
tac
命令所在路径: /usr/bin/tac
权限:所有用户
作用:显示文件内容(反向列示,倒序展示)
格式: tac [文件名]
选项:
-n: 显示行号
参数:
要查看的文件名,全路径或当前目录下的文件名
more
命令所在路径: /bin/more
权限:所有用户
作用:显示文件内容(分页显示,不可回翻)
格式: more [文件名]
参数:
要查看的文件名,全路径或当前目录下的文件名
浏览时操作按键:
space或者f: 翻页
Enter: 换行
q或Q:退出
less
命令所在路径: /usr/bin/less
权限:所有用户
作用:显示文件内容(分页显示,可回翻)
格式: less [文件名]
参数:
要查看的文件名,全路径或当前目录下的文件名
浏览时操作按键:
space或者f : 翻页
Enter : 换行
PageUp :向上翻页
↑ :向上换行
/+关键词 :搜索,n查找下一个出现的关键词
q或Q:退出
head
命令所在路径: /usr/bin/head
权限:所有用户
作用:显示文件内容(只显示前几行,无参数默认10行)
格式: head [文件名]
选项:
-n:指定行数,例如-n 20 代表显示前20行信息
参数:
要查看的文件名,全路径或当前目录下的文件名
tail
命令所在路径: /usr/bin/tail
权限:所有用户
作用:显示文件内容(只显示最后几行,无参数默认10行)
格式: tail [文件名]
选项:
-n:指定行数,例如-n 20 代表显示最后20行信息
-f:动态显示文件末尾内容(文件被修改后会事实变化显示)
参数:
要查看的文件名,全路径或当前目录下的文件名
ln(link)
命令所在路径: /bin/ln
权限:所有用户
作用:生成链接文件
格式: ln [-选项] [源文件] [目标文件]
选项:
-s:创建软链接
参数:
1.要创建链接文件的源文件
2.创建的链接文件
备注:
软链接:
1.文件类型和操作权限为lrwxrwxrwx,代表所有用户都具有全部操作权限,但软链接的权限不代表原文件的权限,真正决定权限的还是原文件
2.类似于Windows操作系统中的快捷方式
3.软链接只是指向了源文件而已,真正执行的是源文件
4.软链接的大小特别小,因为他只是指向原文件的一个符号链接而已
硬链接:
1.详细信息中除了路径以外其他信息全部和源文件相同
2.可以同步更新,其中一个改变后另一个文件也会更新
3.是通过i节点识别的
4.不可跨分区,例如/tmp中的文件无法在/boot中创建硬链接(/tmp和/boot不在同一分区)
5.不能针对目录使用
区别:
1.源文件删除后,软链接无法访问到原文件,而硬链接可以
2.硬链接的i节点和原文件的i节点相同,而软链接不同,这也说明了硬链接可以同步更新的原因,因为操作系统在进行操作时是根据i节点进行操作的,而同一i节点对应了原文件和硬链接,所以可以同步更新
3.软链接可跨分区,硬链接不可以
4.软链接可以给目录创建,硬链接不可以
useradd
命令所在路径: /usr/sbin/useradd
权限:root
作用:添加用户
格式: useradd [-选项] 用户名
选项:
-u UID: 手工指定用户的UID
-d 家目录: 手工指定用户的家目录
-c 用户说明:手工指定用户的用户说明
-g 组名:手工指定用户的初始组
-G 组名: 指定用户的附加组
-s shell:手工指定用户的登陆shell
usermod
命令所在路径: /usr/sbin/usermod
权限:root
作用:修改用户信息
格式: usermod [-选项] 用户名
选项:
-u UID: 手工指定用户的UID
-c 用户说明:手工指定用户的用户说明
-G 组名: 指定用户的附加组
-s shell:手工指定用户的登陆shell
-L: 临时锁定用户
-U: 解锁用户锁定
passwd
命令所在路径: /usr/bin/passwd
权限:所有用户
作用:给用户设置密码
格式: passwd [-选项] 用户名
选项:
-S :查询用户密码的密码状态,仅root用户可用
-l :暂时锁定用户,仅root可用
-u :解锁用户,仅root可用
--stdin :可以通过管道符输出的内容作为用户的密码
备注:
普通用户不加用户名可以更改自己的密码,root可以更改任何用户的密码
userdel
作用:删除用户
格式: userdel [-选项] 用户名
选项:
-r :同时删除该用户的家目录
id
作用:查询用户的UID,GID信息
格式: id 用户名
su
作用:切换用户身份
格式: su [-选项] 用户名
选项:
-:只使用-的话代表连带用户的环境变量一起切换
-c:仅执行一次命令,而不切换用户身份
who
命令所在路径: /usr/bin/who
权限:所有用户
作用:查看登陆用户信息
格式: who
备注:
显示格式:
登陆用户名 登陆终端(tty本地终端,pts远程终端) 登陆时间 远程登陆的主机ip
w
命令所在路径: /usr/bin/w
权限:所有用户
作用:查看登陆用户详细信息
格式: w
备注:
显示格式:
登陆用户名 登陆终端(tty本地终端,pts远程终端) 远程登陆的主机ip 登陆时间 用户空闲时间 用户操作累计占用的CPU时间 用户当前操作占用的CPU时间 用户执行的操作
chmod(change the permissions mode of file)
命令所在路径: /bin/chmod
权限:所有用户
作用:修改文件或者目录权限
格式: chmod [-选项] [{ugoa}{+-=}{rwx}] [文件或目录]
其中u:所有者,g:所属组,o:其他人,a:所有用户
+增加权限,-减少权限,=修改权限
同时给多用户修改权限时,用,隔开
chmod [-选项] [mode=421] [文件或目录]
其中数字代表r-4,w-2,x-1,用数字相加的形式代表某个用户的权限,例如
rwxrw-r--就是764,所有者的rwx相加为7,所属组的是rw相加为6,其他人r就是4
选项:
-R:递归修改,将其子目录的权限也修改为和操作目录相同的权限
参数:
1.要创建链接文件的源文件
2.创建的链接文件
备注:
1.一个文件的权限只有其所有者或者root可以修改
2. 代表字符 权限 对文件 对目录
r 读 查看内容 列出目录中的内容
w 写 修改内容 可以在目录中创建、删除文件
x 执行 执行文件 可以进入目录
chown(change file ownership)
命令所在路径: /bin/chown
权限:所有用户
作用:修改文件或者目录的所有者
格式: chown [用户] [文件或目录]
备注:
只有root可以修改文件的所有者
groupadd
作用:添加用户组
格式: groupadd [-选项] 用户组名
选项:
-g GID: 指定用户组ID
groupmod
作用:修改用户组信息
格式: groupmod [-选项] 用户组名
选项:
-g GID: 修改用户组ID
-n 新组名:修改组名
groupdel
作用:删除用户组
格式:groupdel 用户组名
gpasswd
作用:把用户添加入组或者从组中删除
格式:gpasswd [-选项] 用户组名
选项:
-a 用户名:加入组
-d 用户名:把用户从组中删除
chgrp(change file group pwnership)
命令所在路径: /bin/chgrp
权限:所有用户
作用:修改文件或者目录的所属组
格式: chgrp [所属组] [文件或目录]
umask(the user file-cretion mask)
命令所在路径: shell内置命令
权限:所有用户
作用:显示、设置文件的缺省权限
格式: umask [-选项] [参数]
选项:
-S:以rwx形式显示新建文件的缺省权限
参数:
在备注2中,按照那种方式,算出类似022这样的数字,然后
umask 022即可
备注:
1.在Linux中,大部分时候看到umask的权限信息和touch的文件权限会缺少执行权限,这是因为系统规定新建的文件不能具有可执行权限
2.在没有参数的时候,会显示四个数字,其中
第一个0:特殊权限
剩下的数字022:使用777与022做异或运算例如
777 rwx rwx rwx
022 --- -w- -w- 异或运算
------------------------
rwx r-x r-x 目录的实际权限
rw- r-- r-- 文件的实际权限
find
命令所在路径: /bin/find
权限:所有用户
作用:搜索文件
格式: find [搜索范围] [匹配条件]
参数:
1.指定搜索范围的目录
2.Linux中可以根据文件名、修改时间等条件搜索
备注:
1.匹配条件中,使用比较多的为
-name 根据文件名搜索
例如find /etc -name lalala,就是搜索文件名是lalala的,如果想做模糊搜索可以使用通配符*(任意多个字符)、?(单个字符)等
-iname 不区分大小写根据文件名搜索
-size 根据文件大小来搜索,其中后面跟要搜索的大小,后面跟+n(大于该值)、-n(小于该值)、n(等于该值),n的值是数据块数量,Linux中每一个数据块是512Byte,即0.5KB
例如find / -size +204800,就是查找文件大小大于100MB的文件
-user 根据所有者来搜索
例如find /home -user zhubingkun,就是搜索文件所有者为zhubingkun的文件
-group 根据所属组来搜索,用法同上
-amin access根据访问时间搜索
-cmin change根据修改文件属性时间搜索,属性是指比如使用ls -l命令查看到的东西就是文件属性
例如find /etc -cmin -5,就是查找5分钟以内被修改过属性的文件和目录
如果是+5就是超过5分钟的
-mmin modify根据修改文件内容时间搜索
-type 根据文件类型查找,后面f是文件,d是目录,l是软链接
-inum 根据i节点查找
2.不要在服务器高峰期时使用,这玩意挺消耗资源
3.多条件连接
-a 两个条件同时满足
例如find /etc -size +102400 -a -size -204800
查找文件大小大于50MB小于100MB的文件
-o 两个条件满足一个即可
用法同上
4.对搜索结果执行操作
-exec/-ok 命令 {} \;
例如 find /etc -name inittab -exec ls -l {} \;
查找名字是inittab的文件并显示详细信息,其中后面{} \;当成固定格式
其中{}代表find查找的结果,将很多结果做一个整合,\是转义符,;是结束
或者 find /etc -name inittab -ok ls -l {} \;效果同上,只是ok会多一个确认执行操作的询问
locate
命令所在路径: /usr/bin/locate
权限:所有用户
作用:搜索文件(在文件资料库中搜索)
格式: locate [-选项] [文件名]
选项:
-i:不区分大小写,locate默认区分大小写,加了这个选项后不区分大小写
备注:
1.这个命令不是直接在硬盘上搜索,而是在文件资料库中搜索,所以效率会很快
2.新建立的文件如果还没有被系统收录到文件资料库中,就不会搜索到,他定期更新,或者可以手动使用updatedb命令更新
3./tmp中存放的是临时文件,文件资料库不会收录/tmp目录下的文件
which
命令所在路径: /usr/bin/which
权限:所有用户
作用:搜索命令所在的目录及别名信息
格式: which [命令]
备注:
别名就是,自行理解,我们平常用的命令很多都是使用的别名,例如
rm就是rm -i的别名,-i就是增加询问机制的选项,如果直接执行/bin/rm来删除文件的话,是不会有询问的
whereis
命令所在路径: /usr/bin/whereis
权限:所有用户
作用:搜索命令所在的目录及帮助文档路径
格式: whereis [命令]
grep
命令所在路径: /bin/grep
权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
格式: grep [-选项] [指定字串] [文件]
选项:
-i: 不区分大小写
-v: 排除指定字串
备注:
在使用-v选项时,例如想排除行首为#的行,可以写^#,^代表行首
man(manual)
命令所在路径: /usr/bin/man
权限:所有用户
作用:获取帮助信息
格式: man [命令或者配置文件]
备注:
浏览时和more、less的浏览操作相同
查看配置文件时,不要加路径
帮助文件在Linux中会有标号,一般1是指命令的帮助,5是指配置文件的帮助,man命令优先找命令
如果命令和配置文件重名,想查看配置文件,可以使用man 5 passwd这样的格式
whatis
作用:获取命令帮助简短信息,只介绍功能,用法同上
apropos
作用:获取配置文件帮助简短信息,只介绍功能,用法同上
--help
作用:获取命令的选项信息
用法:
命令 --help
help
命令所在路径: shell内置命令
权限:所有用户
作用:获取shell内置命令的帮助信息
格式: help [命令]
备注:
1.shell就是一个命令解释器
2.shell内置命令是内置到解释器里的,无法通过whereis等方式获取命令所在路径
gzip(GNU zip)
命令所在路径: /bin/gzip
权限:所有用户
作用:压缩文件
格式: gzip [-选项] [文件]
选项:
-d: 解压缩
备注:
1.压缩后文件格式为.gz
2.gzip只可压缩文件,不可压缩目录
3.压缩后不保留原文件
gunzip(GNU unzip)
命令所在路径: /bin/gunzip
权限:所有用户
作用:解压.gz的压缩文件
格式: gunzip [压缩文件]
备注:
1.压缩后文件格式为.gz
tar
命令所在路径: /bin/tar
权限:所有用户
作用:打包目录
格式: tar [-选项] [压缩后文件名] [待压缩目录]
选项:
打包压缩时:
-c:打包
-v:显示详细信息
-f:指定文件名
-z:打包同时压缩
-j:使用bz2压缩(生成文件.tar.bz2)
解包解压时:
-v:显示详细信息
-x:解包
-f:指定解压文件
-z:解压缩
-j:解压缩.bz2格式的压缩包
备注:
1.压缩后文件格式为.tar.gz
2.压缩后保留原目录
3.Linux中对后缀名没有要求,单纯打包取名时叫什么都可以,未压缩的话推荐使用.tar作为后缀
zip
命令所在路径: /usr/bin/zip
权限:所有用户
作用:压缩文件或目录
格式: zip [-选项] [压缩后文件名] [待压缩文件或目录]
选项:
-r:压缩目录,不指定时默认压缩文件
备注:
1.压缩后文件格式为.zip
2.可保留原文件
3.压缩比不是很可观
unzip
命令所在路径: /usr/bin/unzip
权限:所有用户
作用:压缩文件或目录
格式: unzip [.zip压缩文件]
bzip2
命令所在路径: /usr/bin/bzip2
权限:所有用户
作用:压缩文件
格式: bzip2 [-选项] [待压缩文件]
选项:
-k:产生压缩文件后保留原文件
备注:
1.压缩后文件格式为.bz2
2.压缩比非常很可观
bunzip2
命令所在路径: /usr/bin/bunzip2
权限:所有用户
作用:解压缩文件
格式: bunzip2 [-选项] [压缩文件]
选项:
-k:解压缩文件后保留原文件
write
命令所在路径: /usr/bin/write
权限:所有用户
作用:给用户发信息,以Ctrl+D保存结束
格式: write <用户名>
备注:
1.使用Ctrl+退格或者Delete删除字符
2.必须保证对方用户在线
wall(write all)
命令所在路径: /usr/bin/wall
权限:所有用户
作用:发送广播信息
格式: wall [信息]
ping
命令所在路径: /bin/ping
权限:所有用户
作用:测试网络连通性
格式: ping [-选项] IP
选项:
-c:指定发送次数,例如ping -c 4 127.0.0.1意味着只发送四次数据包
ifconfig(interface configure)
命令所在路径: /sbin/ifconfig
权限:root
作用:查看和设置网卡信息
格式: ifconfig [网卡名称] [IP]
mail
命令所在路径: /bin/mail
权限:所有用户
作用:查看和发送电子邮件
格式: mail [用户名]
备注:
1.不需要对方在线
2.使用Ctrl+退格或者Delete删除字符
3.使用Ctrl+D保存结束
last
命令所在路径: /usr/bin/last
权限:所有用户
作用:列出目前与过去登陆系统的用户信息
格式: last
lastlog
命令所在路径: /usr/bin/lastlog
权限:所有用户
作用:列出所有用户的登录信息
格式: lastlog [-选项]
选项:
-u:指定用户uid查看信息
traceroute
命令所在路径: /bin/traceroute
权限:所有用户
作用:显示数据包到主机之间的路径
格式: traceroute 主机域名或IP
netstat
命令所在路径: /bin/netstat
权限:所有用户
作用:显示网络相关信息
格式: netstat [-选项]
选项:
-t:查询TCP协议的网络信息
-u:查询UDP协议的网络信息
-l:查看监听的端口
-r:查看路由
-n:显示IP和端口号
-a:所有
setup(部分Linux版本特有)
命令所在路径: /usr/bin/setup
权限:所有用户
作用:配置网络
格式: setup
备注:
设置之后不要忘记使用service network restart重启网络服务
mount
命令所在路径: /bin/mount
权限:所有用户
作用:分配挂载点
格式: mount [-t 系统文件] 设备文件名 挂载点
备注:
例如mount -t iso9660 /dev/sr0 /mnt/cdrom
所谓挂载就是把设备和盘符连接起来
umount
命令所在路径: /bin/umount
权限:所有用户
作用:卸载挂载点
格式: umount 设备文件名或者挂载点
shutdown
作用:关机或重启
格式: shutdown [-选项] 时间(now代表立刻执行,或者使用HH:mm格式指定执行时间)
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
备注:
其他关机命令:
halt
poweroff
init 0
其他重启命令:
reboot
init 6
系统运行级别:
0 关机
1 单用户,只启动最小系统,最核心的程序及服务,Linux中只有root用户
2 不完全多用户,不包含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
在/etc/inittab文件中可以修改运行级别,不可以修改为0和6
可以使用runlevel查询当前系统运行级别
logout
作用:退出登录
dumpe2fs
作用:查询指定分区详细文件系统信息
格式:dumpe2fs [-选项] 分区
选项:
-h:仅显示超级块中的信息,而不显示磁盘块组的详细信息
getfacle
作用:查看文件的ACL权限
格式:getfacle 文件名
VIM相关
1.使用vi [文件名] 或者vim [文件名]使用vim编辑器
2.如果当前目录下不存在该文件会自动新建文件
3.默认非插入模式下,任何按键都会被当成命令来处理,想要写东西只有进入插入模式后才可以
4.常用命令
进入插入模式:
a 在光标所在字符后插入
A 在光标所在行尾插入
i 在光标所在字符前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行
:set number或者:set nu显示行号
:set nonu取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
$ 移至行尾
0 移至行首
x 删除光标所在处的字符
nx 删除光标所在处后n个字符
dd 删除光标所在行
ndd 删除n行
dG 删除光标所在行到文件末尾内容
D 删除光标所在处到文件末尾内容
:n1,n2d 删除指定范围的行,例如:10,30d
yy 复制当前行
nyy 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前行下或行上
r 取代光标所在处字符
R 从光标所在处开始替换字符,按ESC结束
u 取消上一步操作
/string 搜索指定字符串,:set ic忽略大小写
n 搜索指定字符串出现的下一个位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 一定范围内替换指定字符串
:w 保存修改
:w new_filename 另存为指定文件
:wq 保存修改并退出
ZZ 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者及root可使用,即使没有写权限也可修改文件)
r 文件名 在光标处导入另一文件内容
!命令 可以查询命令所在路径
:map 设置快捷键
软件
1.软件包分为源码包(包括脚本安装包)和二进制包(RPM包、系统默认包)
rpm命令:
格式:rpm [-选项] 待安装软件包全名
选项:
-i : 安装
-U :升级
-e :卸载(卸载后跟软件包名)
-q :查询该软件包是否安装(后只跟包名)
-qa:查询所有已安装软件包
-qi:查询软件详细信息
-qp :查询未安装包信息
-ql :列表
-qf :查询系统文件属于哪个软件包(后跟系统文件名)
-qR :查询软件包依赖性
-v :显示详细信息
-h :显示进度
-V : 校验指定RPM包中的文件
--nodeps :不检测依赖性(不要使用)
yum命令:
yum list: 查询所有可用软件包列表
yun search 关键字: 查询服务器上所有和关键字相关的软件包
yum -y install 包名: 安装软件包,其中-y是自动回答yes,install是安装
yum -y update 包名:升级软件包,其中-y自动回答yes,update更新,如果不跟包名,会升级所有软件包
yum -y remove 包名:卸载软件包,其中-y自动回答yes,remove卸载
yum grouplist : 查询所有可用软件组列表
yum groupinstall 软件组名: 安装指定软件组
yum groupremove 软件组名: 卸载指定软件组
rpm包大部分软件各部分默认安装位置:
/etc 配置文件安装目录
/usr/bin 可执行的命令安装目录
/usr/lib 程序所使用的函数库的保存位置
/usr/share/doc 基本的软件使用手册保存位置
/usr/share/man 帮助文件保存位置
源码包一般手动指定位置安装在/usr/local/软件名/下
源码包源代码保存位置为/usr/local/src/
源码包软件安装位置为/usr/local
源码包安装过程:
1.将源码包解压缩
2.进入解压缩后的目录
3.执行./configure --prefix=/usr/local/软件名 配置软件安装位置
4.make编译
如果编译过程中报错,需要执行 make clean清空临时文件
5.make install编译安装
源码包安装的软件想要卸载直接删除目录就可以
对外提供访问的软件建议使用源码包进行安装
脚本安装包一般安装源码包,其实就是软件厂商为了安装自己的软件将安装命令写成了一个脚本,安装软件时直接执行脚本就行了
安装脚本一般在源码包解压后目录中,名字一般叫setup.sh
用户相关
1./etc/passwd文件中保存了用户相关的信息
2./etc/shadow是影子文件(权限000),其中保存了真正的用户密码
3.shadow文件中的加密算法为SHA512散列算法
4.密码如果为!!或者*代表用户没有密码,不能登录,常见于伪用户