工具
xshell 远程连接工具官方链接
VMware 虚拟机官方链接
openSUSE 操作系统 操作系统工具
MobaXterm远程终端工具 开源中文版
Linux系统
Linux发行版本:Redhat 、Fedora、CentOS属红帽子系
ubuntu发音:乌班图 (汽车领域比较多),SUSE发音:素泽尔
Debian发音:德便
Linux优势
1、开源免费(或收取少量费用)
2、系统稳定,占用资源少
3、支持多用户多任务
4、全世界linux爱好者共同维护
远程连接工具
CRT Putty Xshell等
使用Linux系统
1,配置VMware SUSE
2,然后输入:ip addr show 查看地址
3,然后 MobaXterm 用SSH连接
----------------------------------------------------------------------------------------------------
目录结构
常用Linux命令的基本使用
序号 命令 对应英文 作用
01 ls list 查看当前文件夹下的内容
02 pwd print work directory 查看当前所在文件夹
03 cd[目录名] changge directory 切换文件夹
04 touch[文件名] touch 如果文件不存在,新建文件
05 mkdir[目录名] make directory 创建目录
06 rm[文件名] remove 删除指定文件
07 clear clear 清屏
ls 常用选项 ls /root/bin ls - a /root/bin
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小
ll或ls -l 查看目录的详细内容
首字母 d代表目录 -代表文件
r可读,该用户可以ls该目录,即可以看到该目录内容
w可写,该用户可以在该目录创建/删除文件/子目录
x可执行,该用户可以cd切换到该目录下
1 drwxr-xr-x 文件 主权限可读可写可执行 ,组权限可读不可写可执行,其他人权限可读不可写可执行
2 数字 对于目录文件,表示它的第一级子目录的个数。注意此处看到的值要减2才等于该目录下的子目录的实际个数。
3 root root 表示该文件的所有者/创建者(owner)及其所在的组(group)
4 1162 如果是文件,则表示该文件的大小,单位为字节。 如果是目录,则表示该目录符所占的大小,并不表示该目录下所有文件的大小。
5 该文件最后修改的日期时间
6 灰白色表示普通文件;亮绿色表示可执行文件;亮红色表示压缩文件;灰蓝色表示目录;亮蓝色表示链接文件;亮黄色表示设备文件;
cd 切换到当前用户的主目录(/home/用户目录)
root用户,cd ~ 相当于 cd /root
cd /home 相当于查看有多少普通用户的家目录
cd ~ 切换到当前用户的主目录(/home/用户目录)
cd . 保持在当前目录不变
cd .. 切换到上级目录
cd - 可以在最近两次工作目录之间来回切换
cd / 是跳转到根目录 根目录是所有用户共享的目录
相对路径和绝对路径
相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始的具体目录位置
mkdir创建一个新的目录
选项 含义
-p 可以递归创建目录
新建目录的名称 不能与当前目录中 已有的目录或文件同名 可以同时建目录 mkdir -p a/b/c1
touch
创建文件或修改文件时间
如果文件 不存在,可以创建一个空白文件
如果文件 已经存在,可以修改文件的末次修改日期
touch m1 | mkdir l1
vi 创建文件并编辑内容
vi 文件名 回车键 先输入i或者a (进入编辑模式),可以开始输入内容想要保存文件 先按一下esc(进入命令行模式),shift+:,在输入wq!回车
: w 文件名 (将文件以指定的文件名保存)
: wq (保存并退出)
: q! (不保存强制退出)
cat 文件名 查看内容
rm
删除文件或者目录
使用 rm 命令要小心,因为文件删除后不能恢复
选项 含义
-f 强制删除,忽略不存在的文件,无需提示
rm -r 递归地删除目录下的内容,删除文件夹时必须加此参数
rm -rf * 删除一切
(1)删除任何.log文件;删除前逐一询问确认 rm -i *.log
(2)删除以-f开头的文件 rm -rf f*
(3)含1的文件 rm -rf *1*
cp命令
将源文件复制至目标文件,或将多个源文件复制至目标目录。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!
-i 提示
-r 复制目录及目录内所有项目
-a 复制的文件与原文件时间一样
cp a1 a2 文件 cp -r b1 b2 目录
实例:
(1)复制a.txt到test目录下,保持原文件时间,如果原文件存在提示是否覆盖
cp -ai a.txt /test
(2)为a.txt建议一个链接(快捷方式)
cp -s a.txt link_a.txt
mv命令
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,可刚多个文件以空格分隔作为第一参数,移动多个文件到参数2指定的目录中。
实例:
(1)将文件test.log重命名为test1.txt
mv test.log test1.txt
(2)将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中
mv llog1.txt log2.txt log3.txt /test3
(3)将文件log1改名为log2,如果log2已经存在,则询问是否覆盖
mv -i log1.txt log2.txt
(4)移动当前文件夹下的所有文件到上一级目录
mv * ../
查看文件vi cat more tac less tail head
vi 文件
cat 文件
cat -n 文件名 添加行号
tac 文件 倒着查看
more、less 主要来查看大文件 几个G的文件
more etc/profile 空格、enter可以下翻 b可以上翻 q退出
less etc/profile 空格、enter可以下翻 ,b可以上翻,上下键控制 q退出
tail -n 文件名 n为行数
常用参数:
-f 循环读取(常用于查看递增的日志文件(动态文件,用的很多))
tail -f ping.log(查看日志)
-n<行数> 显示行数(从后向前)
(1)循环读取逐渐增加的文件内容
ping 127.0.0.1 > ping.log &(后台运行:可使用jobs -l查看,也可使用fg将其移到前台运行)
head -n 文件名 n为行数 行数为复数表示从最后向前数
显示1.log文件中前20行 head 1.log -n 20
显示1.log文件前20字节 head -c 20 log2014.log
显示t.log最后10行 head -n -10 t.log
显示第 20 行到第 25 行之间的内容,同样使用 head 命令组合 tail 命令,如下:
head -25 file_name | tail -5
假如要显示第 13 行内容,可以使用 head 命令组合 tail 命令,如下:
head -13 file_name | tail +13
----------------------------------------------------------------------------------------------
抓取日志文件
服务器 : tomcat
ip 192.168.8.57
用户名: root
密码: 123456
日志路径 /opt/tomcat/logs 开发会给日志文件位置和名字
日志文件 catalina.out
tail -f catalina.out
grep 过滤关键字
grep 关键字 文件名 grep j yy
-i:忽略大小写;
-r:递归搜索子目录;
-a : 显示上下文10行
-n:显示匹配行的行号;
-c:只显示匹配行的数量;
-v:反转匹配,即只显示不匹配的行;
-w:只匹配整个单词,不匹配子串;
-o :表示只输出匹配部分,而不是整行;
-E:使用扩展正则表达式;
-F:将模式视为固定字符串而非正则表达式。
例如,要在文件 file.txt 中搜索字符串 hello,并忽略大小写和显示匹配行的行号,可以使用以下命令:
1 grep -hino "hello" file.txt
其中,-i 表示忽略大小写,-n 表示显示匹配行的行号,-o 表示只输出匹配部分,而不是整行,-h 表示不显示文件名。
管道符 命令A | 命令B
八前面命令A输出结果当做候命命令B的输入
前31行内容中带j的 head -31 tt | grep j tt
重定向
cat A > B 覆盖原有的内容
cat A >> B 追加在原有的内容之后
查错误日志 主要分析错误原因
查正常日志 核对提交信息
tail -f catalina,out | grep -in error 查日志信息里内容是error
tail -8000f a.log | grep --color --line-buffer "order" | grep --color --line-buffer "product"
动态查询最后8000行,同时查询一条数据中同时包含多个字符串的信息,进行高亮显示, 比如:日志中包含某个方法,并且订单号是多少的日志,比较实用
先把日志抓取,再操作
把抓取的日志重定向到文件里
---------------------------------------------------------------------------------------
统计文件大小行数
wc tt
wc -l tt 查看文件行数
参数:
-c 或 --bytes或--chars 只显示Bytes数/字节数。
-m 统计字符数,不能与-c同时使用
-l 或 --lines 显示行数。
-L 打印最长长度
-w 或 --words 只显示字数。
5 108 1000 test.txt #第一个文件行数为5、单词数108、字节数1000
系统相关命令
top 查看系统总体信息
free -h 查看内存
du -h 查看文件占了多大空间
df -h 查看文件占了多大空间
ps -ef 查看进程 ps -ef | grep 关键字
kill -9 杀死进程 kill -9 进程号
netstar -nlp 查看端口号
查找文件和目录
find 完整文件名
搜索桌面目录下,文件名包含 1 的文件
find -name ‘*1*’
指定路径查找以1结尾的
find /www -name ‘1*’
find type -d 查找目录
type -f 查找文件
find 指定路径 -type d -name 名称
打包压缩文件
tar -zcvf filename.tar 被打包的文件/路径...
解包解压文件
tar -zxvf filename.tar tar -zxvf filename.tar -C 指定解压目录路径
tar -tvf 查看压缩包
-f 指定压缩文件
-x 从压缩包中抽取文件
-t 显示压缩文件中的内容
-z 支持gzip压缩
-v 显示操作过程
(1)将文件全部打包成tar包
tar -cvf log.tar 1.log,2.log 或 tar -cvf log.*
(2)将/etc下的所有文件及目录打包到指定目录,并使用gz压缩
tar -zcvf /tmp/etc.tar.gz /etc
(3)查看刚打包的文件内容(一定加z,因为是使用gzip压缩的)
tar -ztvf /tmp/etc.tar.gz
(4)要压缩打包/home, /etc ,但不要 /home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
拷贝文件 前提两台电脑是连接的
scp 用户名@ip:文件名 拷贝到的地址 需要输入yes 然后密码 把目标主机文件拷贝到本地
scp root@ip:192.168.21.103:/opt/pubilc ./home
scp 文件名 用户名@ip 把文件从本地拷贝到目标主机
scp 9999 root@ip:192.168.21.103:/opt/
拷贝目录 前提两台电脑是连接的
scp -r 用户名@ip:文件名 拷贝到的地址 需要输入yes 然后密码 把目标主机文件拷贝到本地
scp -r root@ip:192.168.21.103:/opt/pubilc ./home
scp -r 文件名 用户名@ip 把文件从本地拷贝到目标主机
scp -r 9999 root@ip:192.168.21.103:/opt/
可视化拷贝文件的工具
pwd 查看当前目录所在位置
给文件赋予权限
chmod
u 用户主
g 用户组
o 其他人
r 读 4
w 写 2
x 执行 1
chomd u+x 文件名 chomd 700 文件名
chomd g+xw
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限
Linux常用命令大全