快捷键:
- Ctrl+L: 清屏
- pwd:当前所在位置
- vi 打开文件内容
:表示是超级用户的提示符
$ :普通用户的提示符
echo:修改文件内容 echo 999 >> /tmp/cangls.hard
命令格式:
- 命令 [选项][参数]
注意:个别命令使用不遵循此格式
当有多个选项时,可以写在一起 简化选项与完整选项
-a 等于 --all
文件识别:
- rw-r–r--
-文件类型(-文件、d目录、|软接文件) 接下来三者为一组: rw-:u所有者权限 r–:g所属组权限 r–:o其他人权限
r读、w写、x执行
命令ls:查询目录中内容:
- ls[选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode
Linux目录处理命令:
mkdir建立目录: mkdir bols
mkdir -p [目录名]
-p 递归创建: mkdir -p japan/cangls
命令英文原意:make directories
创建文件touch: touch jp/cangls
切换所在目录:cd
cd [目录]
命令英文原意:change directory
简化操作
cd ~ 进入到当前用户的家目录
cd
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
- 查询所在目录位置:pwd
- vi 打开文件内容
删除空目录:rmdir
rmdir [目录名]
命令英文原意:remove empty directories
删除文件或目录:rm
rm -rf [文件或目录]
命令英文原意:remove
选项:
-r 删除目录
-f 强制
复制命令:cp
cp [选项] [原文件或目录] [目标目录]
命令英文原意:copy
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr
剪切或改名命令:mv
mv [源文件或目录] [目标目录]
命令英文原意:move
Linux中常见目录作用:
/ 根目录
/bin 命令保存目录(普通用户就可以读取的命令)
/boot 启动目录,启动相关文件
/dev 设备文件保存目录
/etc 配置文件保存目录
/home 普通用户的家目录
/lib 系统库保存目录
/mnt 系统挂载目录
/media 挂载目录
/root 超级用户的家目录
/tmp 临时目录
/sbin 命令保存目录(超级用户才能使用的目录)
/proc 直接写入内存的
/sys
/usr 系统软件资源目录
/usr/bin/ 系统命令(普通用户)
/usr/sbin/ 系统命令(超级用户)
/var 系统相关文档内容
链接命令:ln
ln -s [原文件] [目标文件]
命令英文原意:link
功能描述:生成链接文件
选项: -s 创建软链接
硬连接特征:
1、拥有相同的i节点和存储block块,可以看做是同一个文件
2、可通过i节点识别
3、不能跨分区
4、不能针对目录使用
软链接特征
1、类似Windows快捷方式
2、软链接拥有自己的i节点和Block块,但是数据块中只保存原
文件的文件名和i节点号,并没有实际的文件数据
3、lrwxrwxrwx l软链接 软链接文件权限都为rwxrwxrwx
4、修改任意文件,另一个都改变
5、删除原文件,软链接不能使用
文件搜索命令:
-
文件搜索命令locate
-
命令搜索命令whereis与which
-
文件搜索命令find
-
字符串搜索命令grep
find命令与grep命令的区别
locate 文件名 在后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命令所搜索的后台数据库 updatedb 更新数据库
whereis 命令名
# 搜索命令所在路径及帮助文档所在位置
选项:
-b: 只查找可执行文件
-m: 只查找帮助文件
which 文件名:
#搜索命令所在路径及别名
环境变量: echo $PATH {查看环境变量内容}
find 命令:
find [搜索范围] [搜索条件]
#搜索文件 : find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名。如果需要匹配,
使用通配符匹配,通配符是完全匹配
find /root -iname install.log
#不区分大小写
find /root -user root
#按照所有者搜索
find /root -nouser
#查找没有所有者的文件
find /var/log/ -mtime +10
#查找10天前修改的文件
# -10 10天内修改的文件
# 10 10天当天修改的文件
# +10 10天前修改的文件
# atime 文件访问的时间
# ctime 改变文件的属性
# mtime 修改文件的内容
find . -size 25k
#查找文件大小是25kb的文件
# . 表示当前目录
# -25k 小于25kb的文件
# 25k 等于25kb的文件
# +25k 大于25kb的文件
find . -inum 2662422
#查找i节点是262422的文件
find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20kb并且小于50kb的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /etc -size +20k -a size -50k -exec ls -lh {}\;
#查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息
# -exec/-ok命令{}\;对搜索结果执行操作
Linux中的通配符:
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
Linux中grep命令:
**搜索字符串命令grep:**
grep [] 字符串 文件名: grep -i[size] aconfig.log
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除制定字符串(忽略大小写)
find命令与grep命令的区别
find命令:在系统当中搜索符合条件的文件名,如果需要匹配
使用正则表达式进行匹配,正则表达式时包含匹配。
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,
使用正则表达式进行匹配,正则表达式时包含匹配。
linux中的帮助命令
**帮助命令man:**
man 命令
#获取指定命令的帮助
man ls
#查看ls的帮助
查看命令拥有那个级别的帮助
man的级别
#1 : 查看命令的帮助
#2 : 查看可被内核调用的函数的帮助
#3 : 查看函数 和函数库的帮助
#4 : 查看特殊文件的帮助(主要是/dev目录下的文件)
#5 : 查看配置文件的帮助
#6 : 查看游戏的帮助
#7 : 查看其他杂项的帮助
#8 : 查看系统管理员可用命令的帮助
#9 : 查看和内核相关文件的帮助
.man -f 命令
相当于
whatis 命令
举例:
.man -5 passwd
.man -4 null
.man -8 ifconfig
查看和命令相关的所有帮助
man -k 命令
相当于
apropos 命令
例如:
apropos passwd
其他帮助命令:
选项帮助
命令 --help
#获取命令选项的帮助
例如:
ls --help
shell内部命令帮助:
help shell 内部命令
#获取shell内部命令的帮助
例如:
whereis cd
#确定是否是shell内部命令
help cd
#获取内部命令帮助
info命令:
-回车: 进入子帮助页面(带有*号标记)
-u: 进入上层页面
-n: 进入下一个帮助小节
-p: 进入上一个帮助小节
-q: 退出
Linux压缩命令:
常用压缩格式: .zip .gz .bz2
1. zip格式压缩
zip压缩文件名 源文件
#压缩文件
zip -r 压缩文件名 源目录
#压缩目录
unzip 压缩文件
#解压缩.zip文件
2. gz格式压缩
gzip 源文件
压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
#压缩为.gz格式,源文件保留
例如:
gzip -c cangls > cangls.gz
gzip -r 目录
#压缩目录下所有的子文件,但是不能压缩目录
gzip -d 压缩文件
#解压缩文件
gunzip 压缩文件
#解压缩文件
gunzip -r 压缩文件
#解压缩目录下所有的子文件
3. bz2格式压缩
bzip2 源文件
#压缩为.bz2格式,不保留源文件
bzip2 -k 源文件
#压缩之后保留源文件
注意:bzip2命令不能压缩目录 bzip2 -d 压缩文件
#解压缩,-k保留压缩文件 bunzip2 压缩文件
#解压缩,-k保留压缩文件
常用压缩格式: .tar.gz .tar.bz2
4. 打包命令tar
tar -cvf 打包文件名 源文件 .选项:
-c: 打包
-v: 显示过程
-f: 指定打包后的文件名 例如:
# tar -cvf longzls.tar longzls
解打包命令:
tar -xvf 打包文件名
选项:
-x:解打包
例如:
tar -xvf longzls.tar
5. tar.gz压缩格式:
其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z: 压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
选项:
-x: 解压缩.tar.gz格式
tar -ztvf 压缩文件
选项:-t: 查看压缩包,并不解压缩。
Linux关机和重启命令:
shutdown命令:
shutdown[选项] 时间 选项:
-c: 取消前一个关机命令
-h: 关机
-r: 重启 案例:
现在重启:shutdown -r now
注意:因为是服务器,关机重启操作时,先要确认机器上的机器已关闭
logout:
#正确退出远程连接。
其他常用命令:
挂载命令:
mount:
#查寻系统中已挂载的设备
mount -a
#依据配置文件/etc/fstab的内容,自动挂载
挂载命令格式:
mount [-t`文件系统] [-o特殊选项] 设备文件名 挂载点
选项:
-t文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-o特殊选项:可以指定挂载的额外选项
挂载光盘:
mkdir /mnt/cdrom/
#建立挂载点
mount -t iso9660 /dev/cdrom/ mnt/cdrom/
#挂载光盘:
mount /dev/sr0 /mnt/cdrom/
#可省略掉-t和文件系统iso9660、/dev/cdrom 与/dev/sro 属于软链接关系
卸载光盘命令:
umount 设备文件名或挂载点。
umount /mnt/cdrom/
#注意:必须卸载、卸载时需要退出挂载的目录。
挂载u盘:
fdisk -l
#查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
#注意:Linux默认是不支持NTFS文件系统的
常用快捷键:
ctrl+c 强制终止当前命令
ctrl+1 清屏
ctrl+a 光标移动到命令行首
ctrl+e 光标移动到命令行尾
ctrl+u 从光标所在位置删除到行首
ctrl+z 把命令放入后台
ctrl+r 在历史命令中搜索
用户登录查看和用户交互命令:
w
#查看用户信息
who
#查看用户信息
last
#查看系统中所有用户的登录信息;其实是打开文件、/var/log/wtmp
.lastlog
#lastlog 命令默认是读取/var/log/lastlog文件内容。查看最后的信息
Shell基础
.echo输出命令:
1.echo [选项] [输出内容]
.选项:
-e:支持反斜线控制的字符转换
2.第一个脚本
#!/bin/bash
#The first program
echo -e "\e[1;34m天上掉下个林妹妹!\e[0m"
3.脚本执行
.赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
.通过bash调用执行脚本
bash hello.sh
.Bash的基本功能
1.命令别名与快捷键:alias 删除:unalias
历史命令
history[选项] [历史命令保存文件]
选项:
-c: 清空历史命令
-w: 把缓存中的历史命令写入历史命令保存文件~/.bash_history
历史命令的调用:
使用上、下箭头调用以前的历史命令
使用"!n"重复执行第n条历史命令
使用"!!"重复执行上一条命令
使用"!子串"重复执行最后一条以该字串开头的命令
命令与文件补全
在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在
输入命令或文件时,按"Tab"键就会自动进行补全
输入冲定向:
命令 > 文件名(覆盖) 、 命令 >> 文件名 (追加)
wc [选项] [文件名]
选项:
#-c统计字节数
#-w统计单词书
#-l统计行数
输入:
命令 >>
管道符:
多命令顺序执行:
多命令执行符:
; 顺序执行
$$ 与
|| 或
管道符|:|
命令格式:
命令1 |命令2
#命令1的正确输入作为命令2的操作对象
案例:
ll -a /etc/ | more
netstat -an |grep "ESTABLISHED" | wc -1
通配符:
? 匹配一个任意字符
* 匹配0个或任意多个任意字符,也就是可以匹配任何内容
[] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者
是a或者是b或者是c
[-] 匹配中括号中任意一个字符,-代表一个范围。例如:[a-z]代表匹配一个小写字符
.[^] 逻辑非,表示匹配部署中括号内的一个字符。例如:[^0-9]代表匹配一个不是数字的字符。
rpm命令:安装软件包:https://blog.csdn.net/qq_24394093/article/details/89401180
1.rpm [选项] RPM包文件
常用选项:
-i:安装一个新的rpm软件包
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息
–force:强制安装所指定的rpm软件包
–nodeps:安装软件时,忽略依赖关系
2、升级或更新.rpm软件包
格式:rpm [选项] RPM包文件
常用选项:
-U:升级某个rpm软件,若原本未装,则进行安装
-F:更新某个rpm软件,若原本未装,则放弃安装
--nodeps:升级软件时,忽略依赖关系
3、卸载指定的.rpm软件包
格式:rpm -e 软件名
--nodeps:卸载软件时,忽略依赖关系
4、查询已安装的.rpm软件包
格式:rpm -q[子选项] [软件名]
常用子选项命令:
-qa:查看系统中已安装的所有RPM软件包列表
-qi:查看指定软件的详细信息
-ql:查询指定软件包所安装的目录、文件列表
-qc:仅显示指定软件包安装的配置文件
-qd:仅显示指定软件包安装的文档文件
6、查询未安装的.rpm软件包文件
格式:rpm -qp[子选项] RPM包文件
常用的子选项:
-qpi:通过.rpm包文件查看该软件的详细信息
-qpl:查看.rpm安装包内所包含的目录、文件列表
-qpc:查看.rpm安装包内包含的配置文件列表
-qpd:查看.rpm安装包内包含的文档文件列表
查询未安装的软件包时,必须输入整个安装包的名称,而查询已安装的软件包时,只要输入软件包名就可以了
yum命令:
1、yum源的获取
使用yum命令时,必须依赖于yum源,而yum源可以从互联网获取,也可以建立本地的yum源;
从互联网获取的yum源,前提条件必须连接互联网,连接互联网后,直接使用yum命令安装,默认情况yum源的配置文件是在/etc/yum.repos.d目录下,
打开/etc/yum.repos.d,可以看到yum源默认用的CentOS官网的。
如果无法连接外网,那么就需要建立本地的yum源,当有光驱时,
建立本地yum源的步骤:
(1) 在系统根目录下新建一个目录abc;mkdir abc
(2) 将系统安装光盘挂到根/abc目录下:mount /dev/cdrom abc
2、使用yum命令来安装软件包
格式:yum install 软件名 [-y]
-y:如果使用-y,那么在安装软件时命令行就不会出现"Is this ok[y/N]"这条提醒语句了,
更不需要在命令行输入y或N了,直接安装软件。
备注:对于安装有依赖包的软件,用yum命令特别方便,如果用rpm命令,就必须要先装依赖包再装软件包,而yum命令会直接匹配依赖包然后直接安装
3、清空yum源的缓存
yum clean all
4、卸载软件包
yum remove gcc-java
5、列出所有已安装的软件包
yum list installed
6、列出所有可安裝的软件包
yum list
7、列出所有软件包的信息或单独一个软件包的信息,命令yum info 是列表所有软件包的信息
yum info zsh-html
8、使用yum命令安装组套件
格式:yum groupinstall 组名
yum groupinstall ftp-server
使用yum grouplist命令可以查询到组名
yum grouplist
三、编译安装源码包:
首先说一下使用源代码安装软件的优点:
.可以获得最新的软件,及时修复bug;
.根据用户的需求,灵活定制软件功能
编译安装源包必须要有源代码编译环境:
编译源代码步骤:
configure、Makefile.in一般是项目管理器自动生成的,
而gcc编译器需要安装,使用yum命令安装:
yum install gcc*
源码编译安装的基本过程:
1、解压 --- tar
解包、释放出源代码文件,习惯上将软件包释放到/usr/local/src/目录,
解包后的源代码文件位置:/usr/local/src/软件名-版本号/
互联网上下载一个源码文件:
https://img-blog.csdnimg.cn/20190421215654709.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0Mzk0MDkz,size_16,color_FFFFFF,t_70
下载下来的源码包,可以使用md5sum校验工具,进行完整性校验,防止源码包被别人串改,校验方法:
计算MD5校验和,并与官方提供的值相比较,判断是否一致,如果一个致,代表没有串改,如果不一致,
就表明已被别人串改了。
用firefox浏览器下载文件默认保存到当前用户root的主目录/root/Downloads目录下,如果是其它普通用户登陆的,默认保存到/home/普通用户名/Downloads目录下
.用tar命令解压
.解压后的文件
.进入这个解压后的文件,可以看到源码目录
2、配置 --- ./configure
针对当前系统、软件环境,配置好安装参数
执行"./configure --help"可以查看帮助,典型的配置选项:--prefix=软件安装目录
使用./configure,将软件安装到/usr/local/apache2目录中
./configure --prefix =/usr/local/apache2
备注:(1)/usr/local/apache2目录是随意指定的一个安装目录,也可以安装到其它目录下;
(2)使用./configure配置时,需要将工作目录切换到软件源码所在的目录;
(3)使用源码目录中的configure脚本,由于configure是软件程序而不是系统命令,所以执行时,需要指明路径,由于目前是在httpd-2-2.15,可以使用相对路径 ./configure,.(点)的意思是指当前目录httpd-2-2.15目录;
(4)--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱;如果使用--prefix选项可以将安装文件放到/usr/local/apache2目录中,有利于查找、卸载软件或移植软件,当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净,移植软件只需拷贝整个目录到另外一个机器即可;
3、编译 --- make
将源代码文件变为二进制的可执行程序,用make命令
make
4、安装 --- make install
使用安装make install命令安装程序
make install