一、Linux系统常见的连接工具:SecureCRT、Xshell、Putty。
二、Linux系统常见的文件目录
根目录(/)下一般有三个目录,分别是root、home、etc,root目录是用户root的家目录,home下放的是各用户的家目录,etc是配置文件。
root用户登录在命令行前端显示“#”符号
普通用户登录在命令行前端显示“¥”符
三、Linux常见命令
1、ssh远程连接
远程连接Linux系统:ssh 用户名@IP地址
2、su 切换用户
su - root # 普通用户切换到root用户需要密码
su - scg #root用户切换到普通用户不需要密码,普通用户相互切换需要
3、ls列出目录内容
语法:ls [选项] [目录或文件]
常见选项:
-a:显示目录下的所有文件,包括隐藏文件
-A:显示目录下除了.和..的所有文件
-l:详细显示目录的所有信息(包括内存、修改时间等)
-h:优雅显示文件信息(文件信息显示带单位),一般和 -L 一起使用
-L:后面接文件,显示该文件的详细信息
-R:递归显示目录下的文件
4、pwd返回绝对路径
语法:pwd [选项]
5、cd 改变工作目录
语法:cd [选项] [目录路径]
cd 目录路径 #切换到对应的目录
cd - #回到上一次工作目录
cd ~ #回到用户家目录
cd .. #切换到当前的目录的上一级目录(父目录)
6、mkdir创建空目录
语法:mkdir [选项] 目录名称
常用选项:
-p:如果父目录不在,则创建父目录
7、rmdir删除空目录
语法:rmdir [选项] 目录名称
常见选项:
-p:删除目录后,如果父目录为空,删除父目录
8、touch新建文件或改变文件时间戳属性
语法:touch [选项] 文件名
9、vim 文本编辑器。vim后默认进入命令模式
语法:vim [选项] 文件名
常用的快捷键:
i、a、o #进入编辑模式(i、a、o分别是从当前光标、当前光标下一位、当前光标所在行的下一行进入编辑模式)
h、j、k、l #分别代表光标向左下上右移动一个字符
^ #去到光标所在行的行首(非空字符)
$ #去到光标所在行的行尾
gg #去到第一行的行首
G #去到最后一行的行首
#G #去到指定行的行首(#为数字)
yy #复制光标所在行
#yy或y#y #从光标行向下复制#行
p #从光标所在行的下一行开始粘贴
#p #复制的内容粘贴#次
dd #删除关闭所在行
#dd或d#d #从光标所在行向下删除#行
dw #删除关闭所在的单词
x #删除关闭所在的字符
u #撤销操作
ctrl+r #反撤销操作
ctrl+v #移动光标,从最开始光标所在选择字符,选择完成后y、p或d进行复制、粘贴或删除
/关键字 #从光标所在从向下查找关键字,光标去到第一个搜索到的字符处
:set nu #显示行号
:set nonu #取消显示行号
:set ic #忽略大小写
:%s/test/linux/g #查找替换,全文将test替换为linux,不加g则仅替换找到的第一个
:wq #保存退出
:q! #强制退出
Esc #切换到命令模式
10、rm删除目录或文件
语法:rm [选项] 目录或文件
常见选项:
-r :递归删除目录以及目录下的内容
-f :强制删除文件,删除过程不予二次提示
11、cat一次性查看文件内容
语法:cat [选项] 文件名
常见选项:
-n :显示行号
-b :与-n类似,但空白行不加行号
12、less/more分页查看文件内容
语法:less/more [选项] 文件名
less可以上下翻页,按q退出;more只能向下翻页,翻到最后一页自动退出
13、head 从文件开头显示文件内容,不添加选项默认前10行
语法:head [选项] 文件名
常见选项:
-n :指定显示文件行数
14、tail 从文件结尾显示文件内容,不添加选项默认前10行
语法:tail [选项] 文件名
常见选项:
-n :指定显示文件行数
-f :实时监控文件追加内容
15、cp复制并粘贴目录或文件
语法:cp [选项] 源文件或目录 目标文件或目录
常用选项:
-R :递归复制目录,复制目录是必须加上的选项
16、scp 远程复制文件或目录
语法:scp [选项] 源文件 目标文件 # 远程系统(用户名@IP地址:/目录)
常见选项:
-r :递归复制目录,复制目录是必须加上的选项
17、mv移动文件或目录,常用来重命名
语法:mv [选项] 源文件或目录 目标文件或目录
18、文件压缩或解压
语法:命令 [选项] 压缩后的文件名 [被压缩的文件]
压缩和解压方法很多,不同压缩方法压缩后的文件后缀不同,解压方式也不同,例如:
压缩---->>后缀名---->>解压
gzip----->>.zip----->>gunzip
bzip2--->>.bz2------>>bunzip2
xz------->>.xz-------->>unxz
tar压缩和解压选项:
-z 压缩和解压,文件名以“.tar.zip”
-j 压缩和解压,文件名以“.tar.bz2”
-J 压缩和解压,文件名以“.tar.xz”
-c 压缩文件
-x 解压文件
-C 解压后文件存放地址
-vf 解压和压缩时需要的选项
zip test.zip test1 test2 #将test1和test2压缩并命名为test.zip
unzip test.zip #将test.zip解压到当前目录
tar -zcvf test.tar.gz test1 test2 #将test1和test2压缩并命名为test.tar.gz
tar -zxvf test.tar.gz #将test.tar.gz解压到当前目录
tar -jxvf test.tar.bz2 #将test.tar.bz2解压到当前目录
tar -Jxvf test.tar.xz -c /tmp #将test.tar.xz解压到/tmp目录
19、|管道,将一个命令输出传递给另一个命令为输入
语法:命令1|命令2|命令3……
20、cut按行截取并显示文件内容
语法:cut [选项] 文件名
常用选项:
-d:指定截取的字段分隔符
-f:显示指定的字段内容
例子:
cut -d";" -f1 test.txt #文件test.txt按“;”分割,显示每行的第一个字段
cut -d";" -f1-6 test.txt #文件test.txt按“;”分割,显示每行的第一到第6段
cut -d";" -f1,6 test.txt #文件test.txt按“;”分割,显示每行的第一和第6段
21、tr替换命令,常用来大小写字母替换
语法:tr [选项] 源字符串 修改后字符串
22、grep按行查找符合条件的字符串
语法:grep [选项] 匹配文本 文件名
常见选项:
-i:忽略大小写
-n:显示行号
-v:显示不包含匹配文本的内容
-A num:输出匹配行以及之后的num行
-B num:输出匹配行以及之前的num行
23、useradd 添加用户(root用户才能使用)
语法:useradd [选项] 用户名
24、groupadd 添加组
groupadd testgroup #添加testgroup组
gpasswd -a scg testgroup #将scg用户添加到testgroup组中
gpasswd -d scg testgroup #将scg用户从testgroup组中移除
groupdel testgroup #删除testgroup组
25、chown更改文件的属主和属组
语法:chown [选项] 用户或组 文件或目录
常见选项:
-R:递归修改,目录是必须添加
例子:
chown scg /root/test.txt #将文件的属主修改为scg
chown :scg /root/test.txt #将文件的属组修改为scg
chown -R scg:scg /root/test #将目录的属组和属主都修改为scg
26、chmod修改目录或文件权限
每个文件的属主(u)、属组(g)和其它用户(o)权限有右读写执行三种权限。
语法(文字设定法) :chmod [who] [+|-|=] [mode] 文件名 # who用a表示全部用户
语法(数值设定法):chmod [###] 文件名 # “#”表示数子,这里需要3个数值
数值设定法每种权限表示:r=4,w=2,x=1,-=0,即“#”最大为7
27、find查找文件命令
语法:find 目录 [选项] [关键字]
常见选项:
-name:通过文件名查找
-iname:文件名查找,忽略大小写
-user:通过拥有者查找
-size:通过大小查找
-mtime:通过文件最后修改时间查找
-type: 通过文件类型查找,f为普通文件
-ls :查找到的文件信息详细显示
-delete:查找的文件删除
-exec 其它命令 {}\; :将查找到的内容交给其它命令继续处理
28、ps -ef 显示系统所有进程信息
29、top 实时显示当前系统进程信息
30、kill 杀死进程
语法:kill [选项] 进程号
常见选项:
-9:强制结束进程
-15:进程执行任务后,自动结束
31、date显示系统的日期和时间
date +"%Y-%m-%d %H:%M:%S" #显示年月日时分秒
32、磁盘管理
free -h #优雅的显示系统内存使用情况
df -h #查看系统磁盘使用情况
du -h 文件名 #查看文件常用磁盘情况
shutdown -h now #系统关机,只有root用户有权限
shutdown -r #重启系统
reboot #重启系统
ping IP地址 #检查与被测主机网络是否通畅
netstat -tupln #获取主机端口占用情况
33、服务管理
systemctl start/status/restart/stop 服务 #启动/查看/重启/关闭服务
四、软件安装
1、源码安装
第一步:获取源码,获取压缩包后,进行解压
第二步:配置
./configure --prefix=自定义安装路径 #执行“./configure”命令为编译做准备
第三步:编译
make #执行“make”命令进行软件编译
第四步: 编译安装
make install #执行“make install”命令完成安装
2、rpm二进制包安装
语法:rpm [选项] 包名
常用选项:
-ivh:安装软件
-qa:查看所有安装的软件
-prefix:指定安装包路径
-e :卸载软件
-ql:显示安装软件生产的文件
-qi:显示软件信息
-qc:显示软件配置文件
3、yum自动下载安装
语法:yum [选项] 软件名
常见选项:
-y:接收所有提示,不予以二次提示
五、shell脚本
1、shell脚本的基本要求
A.shell脚本就是一个文件,文件名必须以“.sh”结尾
B.shell文件的首行必须是“#! /bin/bash”
C.shell脚本的文件内容就是Linux命令堆砌而成的
2、常用命令
(1)重定向
标准输入/输出/错误:
标准输入:对应文件描述符0,是命令的输入
标准输出:对应文件描述符1,是命令的输出,有时候会省略不写
标准错误:对应文件描述符2,是命令错误的输出
常用文件重定向命令:
command > file 标准输出重定向到一个文件,1省略了没写
command >> file 标准输出追加重定向到一个文件
command 2> file 标准错误重定向到一个文件
command > file 2>&1 标准输出和标准错误重定向到一个文件
command >> file 2>&1 标准输出和标准错误追加重定向到一个文件
command 1> file 2 > file2 标准输出重定向到file,标准错误重定向到file2
(2)、crontab命令
语法:crontab [选项]
crontab格式:分 小时 日 月 星期 要运行的命令 注意:日和星期不同时使用
crontab的域
时间 | 取值范围 |
分钟 | 0~59 |
小时 | 0~23(0表示子夜) |
日 | 1~31 |
月 | 1~12 |
星期 | 0~6(0表示星期天) |
常用的选项:
-u:用户名 root用户才能使用此选项
-e:编辑crontab文件
-l:列出crontab文件中的内容
-r:删除crontab文件