一、Linux环境下各个目录
- /dev,存放硬件相关的文件;
- /etc,存放配置文件的目录;
- /bin,存放普通用户命令的目录;
- /sbin,存放管理员root可以执行的命令;
- /home,存放普通用户的家目录;
- /root,管理员的家目录;
- /media,存放多媒体资料的目录。
二、系统常用命令及快捷键
1. 常用命令
-
uname - r
,查看内核版本; -
ifconfig
,查看IP地址; -
shutdown
,关机; -
reboot
,重启; -
help
,查看内部命令的帮助信息; -
man
,查看绝大多数命令的帮助信息。
2. 常用快捷键
-
Tab
:命令及路径补全功能; -
Ctrl+c
:强行终止当前程序; -
Ctrl+d
:退出终端; -
Ctrl+l
:清屏; -
exit
:退出终端; -
↑
:显示你输入的上一条命令。
三、常用文件目录命令
-
pwd
: 显示当前所在路径(绝对路径); -
ls
:列出目录;
ls -a 列出全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来
ls -l 长数据串列出,包含文件的属性与权限等等数据
-
cd
:切换目录;
cd ~ 回到根目录
cd .. 回到上一级目录
cd test 切换当前目录为test目录
. 表示当前目录,..表示上一级目录,~表示根目录
-
mkdir
:创建一个新的目录;
mkdir test 创建名为test的新目录
mkdir -p test1/test2 创建多层目录
-
rmdir
:删除一个空目录(不可删除非空目录);
rmdir test 删除test目录
rmdir -p test1/test2 删除空目录(连父级空目录也一起删除)
-
cp
:复制文件或目录;
语法:cp [-adfilprsu] 源文件source 目标文件destination
-a 复制所有的目录
-p 连同文件的属性一起复制过去
-r 递归持续复制,用于目录的复制操作
-i 若目标档已经存在时,在覆盖时会先询问动作的进行
如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
cp /test1/file1 /test3/file2
-
rm
:移除文件或目录;
rm -r 递归删除
rm -f 强制删除(忽略警告信息)
rm 删除前会询问你
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
eg:
删除文件: rm -f xxx.log
强制删除该文件,不会询问
删除文件夹: rm -rf /.../.../xxx
删除该文件夹下的所有文件、子文件夹
-
mv
:移动文件与目录或者重命名文件;
语法:mv [-fiu] source destination
-f 如果目标文件已经存在,直接覆盖
-i 若目标文件已经存在时,就会询问是否覆盖
-u 若目标文件已经存在,且来源比较新,才会升级
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
mv /test1/file1 /test3/file2
例: 将目录A重命名为B
mv A B
例子: 将/A目录移动到/B下,并重命名为C
mv /A /B/C
四、常用其他操作命令
1. Linux下kill掉进程
查询pid,ps -ef | grep java
杀死对应pid进程,kill -9 1575
2. 启动项目
启动SpringBoot Jar包命令(linux下不挂断的运行)
/usr/bin/nohup /usr/bin/java -XX:+HeapDumpOnOutOfMemoryError -Xmx2g -Xms1g -Denv=dev -jar -Dspring.config.location=xshq-entry-template/application.properties xshq-entry-template/xshq-entry-template-1.0.0-SHAPSHOT.jar > xshq-entry-template/entry-template.log 2>& 1&
-
rz
,上传文件到Linux; -
sz filename
,从Linux下载文件保存; -
more filename
,查看文件内容;
more start_root.sh
-
vim filename
,编辑文件内容;
vim start_root.sh
grep xxxx
,对文本行的搜索命令;grep -v xxxx
,反向文本行搜索,过滤xxxx;free -h
,显示当前操作系统内存使用状况;
3. 执行.sh脚本
1)切换到shell脚本所在的目录
cd /data/shell
./hello.sh
./的意思是说在当前的工作目录下执行hello.sh
2)以绝对路径的方式去执行shell脚本
/data/shell/hello.sh
3)直接使用bash 或sh 来执行shell脚本
cd /data/shell
bash hello.sh
或
cd /data/shell
sh hello.sh
注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。
4. 查看日志常用命令
1)查看日志
-- 分页
more xxx.log
--不分页
cat xxx.log
-- tail
tail -100f xxx.log 实时监控尾部100行日志
tail -n 100 xxx.log 查询日志尾部最后100行日志
2)退出日志查看
ctrl + c
3)查询日志中的某个文本
grep 'test' xxx.log
-- 查询某个文本并统计次数
grep 'test' xxx.log | wc -l
-- 日志多条件查询
grep '包含字符1' xxx.log | grep '包含字符2' | grep '...'
-- 日志查询前后3行
grep -C 3 'test' xxx.log
5. 压缩、解压缩命令
.gz
gzip 命令操作文件之后会删除删文件
--compress
gzip filename.txt
--uncompress
gzip -d filename.txt.gz
gunzip filename.txt.gz
.zip
--compress
zip file.zip file_or_folder
--uncompress
unzip filename.zip
tar
tar是打包解包工具,不是压缩解压缩工具
--pack
tar -cvf filename.tar file_or_DirName
--unpack
tar -xvf filename.tar
tar 常用参数解析
-c 创建新的tar包
-x 从tar包中解析或者提取文件
-v 创建或者解析时显示详细的文件
-f 生成的tar包文件或者从哪个tar包文件提取 `-f`是必须的,一般和-c或者-x等组合
-t 列举tar包中都有哪些文件
-j 打包并压缩成 `bzip2` 文件`tar.bz2`
-J 打包并压缩成 `xz` 文件`tar.xz`
-z 打包并压缩成 `gzip` 文件 `tar.gz`
-Z 打包并压缩成 `compress` 文件`tar.Z`
6. 查看Linux服务器磁盘占用
查看Linux服务器下磁盘占用:df -h
查看Linux服务器下 当前路径下 磁盘占用: du -h --max -depth=1
7. Linux下登录Mysql
mysql -h(ip) -u(user) -p(password)
例: mysql -uroot -p123456
五、Vim编辑器常用命令
vim的三种工作模式:命令模式、输入模式、末行模式
模式切换:
输入模式到命令模式:esc
;
命令模式到输入模式:a i o A I O
;
修改完文件内容保存退出输入模式:
-
:q
,退出(未编辑信息时使用); -
:q!
,强制退出且不保存; -
:wq
,保存且退出。
vim翻页指令:
-
Ctrl + f f为forward
,向前翻页; -
Ctrl + b b为backward
,向后翻页; -
L
,移至视窗的最后一行; -
G
,移至该文件的最后一行; -
:set number
,显示行号; -
:set nonumber
,隐藏行号; -
12gg
,调到文件的第12行。
查找与替换:
-
/字串
,往游标之后寻找该字串; -
?字串
,往游标之前寻找该字串; -
n
,往下继续寻找下一个相同的字串; -
N
,往上继续寻找下一个相同的字串。
取消前一动作(Undo)
-
u
,恢复最后一个指令之前的结果; -
U
,恢复游标该行之所有改变; -
(vim) u
,可以多次撤消指令,一次撤消一个操作,直至本次操作开始为止; -
(vim) Ctrl+r
,可以恢复撤消前内容,按多次可恢复多次。
其他设置
1. 修改Xshell快速复制粘贴
工具 - 选项 - 键盘鼠标
,向右按钮选择粘贴剪贴板内容,勾选 将选定的文本自动复制到剪贴板。
2. 防火墙
修改防火墙,开放8080端口可以对外访问
#对外开放8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
–zone:作用域
–add-port=8080/tcp:添加端口,格式为:端口/通讯协议
–permanent:永久生效,没有此参数重启后失效
#重启防火墙
firewall-cmd --reload
#查看已经开放的端口
firewall-cmd --list-ports
#停止防火墙
systemctl stop firewalld.service
#启动防火墙
systemctl start firewalld.service
#禁止防火墙开机启动
systemctl disable firewalld.service