linux常见指令
以下操作命令是本人从业java开发岗时使用linux的时候经常会用到的一些命令,也有部分参考其他一些人的笔记,综合进行一下整理。但是这些仅仅是一些最最简单常见的命令,对于新手小白可以参考一下。
-
cd + 目录名 改变目录,进入指定目录
-
cd … 回退到上一级目录
-
cd /
: 切换到系统根目录cd ~
: 切换到用户主目录 -
pwd 显示当前所在的目录的路径ls(ll) 都是陈列出当前目录下的所有文件,只不过ll(两个ll)列出的内容更为详细
-
touch 新建一个文件,如 tough index.js 就会在当前目录下新建一个index.js的文件
-
rm 删除一个文件,如 rm index.js 就会把index.js这个文件删除
-
mkdir 新建一会目录,就是新建一个文件夹,如 mkdir html 就是在当前目录新建一个名为html的文件夹
-
rm -r 删除一个文件夹,如 rm -r html 就是把当前目录下的html文件夹删除
-
mv 移动(剪切)文件 ,如mv index.js html 就是把当前目录下的index.js文件移动到了html文件夹下
-
cp 复制文件,如cp index.js html 就是把当前目录下的index.js文件移动到了html文件夹下
-
清空文件内容而不删除文件, 例如清除文件test.log
如: > test.log -
cp -r 或 cp -R 复制目录
cp -r /home/packageA/* /home/cp/packageB/ 将packageA下的文件复制到packageB目录下。
cp -r /home/packageA /home/packageB 将文件夹A复制到文件夹B中
cp -r /home/packageA /home/packageB/packageA.bak 将文件夹A被分到文件夹B中,.bak后缀是备份的意思。
-
find 文件目录 -name “名字内容” 模糊搜索文件名,如find /home -name “*.txt”
-
cat/more/less/tail 文件名称
:文件的查看(查) 。命令tail -f 文件
可以对某个文件进行动态监控,例如 tomcat 的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log
监控 文 件的变化 。 -
vim 文件
: 修改文件的内容(改)。vim 编辑器是 Linux 中的强大组件,是 vi 编辑器的加强版,vim 编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用 vim 编辑修改文件的方式基本会使用就可以了。在实际开发中,使用 vim 编辑器主要作用就是修改配置文件,下面是一般步骤:vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q!
(输入 wq 代表写入内容并退出,即保存;输入 q!代表强制退出不保存)。 -
Shift + G 翻到文件内容底部。
-
?要搜索的内容 自底向上搜索某字符, 按n键可以向上查找,Ctrl+f可以向下翻页,Ctrl+b可以向上翻页。
-
/ 要搜索的内容 自上向下搜索某字符
-
:行号 光标会移至该行(冒号加行数)
-
打包并压缩文件:
Linux 中的打包文件一般是以.tar 结尾的,压缩的命令一般是以.gz 结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。 命令:
tar -zcvf 打包压缩后的文件名 要打包压缩的文件
,其中:- z:调用 gzip 压缩命令进行压缩
- c:打包文件
- v:显示运行过程
- f:指定文件名
比如:假如 test 目录下有三个文件分别是:aaa.txt bbb.txt ccc.txt,如果我们要打包 test 目录并指定压缩后的压缩包名称为 test.tar.gz 可以使用命令:
tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt
或tar -zcvf test.tar.gz /test/
(注:这个test是根路径,所以是/test/) -
解压压缩包:
命令:
tar [-xvf] 压缩文件
其中:x:代表解压
示例:
- 将 /test 下的 test.tar.gz 解压到当前目录下可以使用命令:
tar -xvf test.tar.gz
- 将 /test 下的 test.tar.gz 解压到根目录/usr 下:
tar -xvf test.tar.gz -C /usr
(- C 代表指定解压的位置)
- 将 /test 下的 test.tar.gz 解压到当前目录下可以使用命令:
-
unzip 解压(“war不属于rar 和zip包。它是java发布的打包,可以用zip,rar解压”)
unzip -o ${HOME}/app/aaa-test.war -d ${HOME}/aaa-test -o是覆盖原有内容,-d来指定解压后存放的目录。 这条命令就是将这个war解压到aaa-test目录。
-
查看磁盘空间和文件大小
df -hl
df命令用于查看磁盘分区上的磁盘空间,包括使用了多少,还剩多少,默认单位是KBdu -sh data/
du 用来查看指定文件或目录大小du -sh *
在指定目录下执行该命令,可查看指定目录下各个子目录的大小,不包括子目录的子目录du -h
查看当前目录所有目录树的大小du -h --max-depth=1
查看当前目录下所有子目录大小, depth=0 就是指当前目录大小ll -h
查看当前目录下所有文件的大小,只是文件,看不了目录的实际大小
-
权限命令:
内容的信息解释如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EsFj4Yhp-1686641663580)(https://snailclimb.gitee.io/javaguide/docs/cs-basics/operating-system/images/Linux权限解读.png)]
下面将详细讲解文件的类型、Linux 中权
文件的类型:
- d: 代表目录
- -: 代表文件
- l: 代表软链接(可以认为是 window 中的快捷方式)
Linux 中权限分为以下几种:
- r:代表权限是可读,r 也可以用数字 4 表示
- w:代表权限是可写,w 也可以用数字 2 表示
- x:代表权限是可执行,x 也可以用数字 1 表示
修改文件/目录的权限的命令:
chmod
示例:修改/test 下的 aaa.txt 的权限为文件所有者有全部权限,文件所有者所在的组有读写权限,其他用户只有读的权限。
chmod u=rwx,g=rw,o=r aaa.txt
或者chmod 764 aaa.txt
-
Linux 用户管理相关命令:
useradd 用户名
:添加用户账号passwd 用户名
:更改或创建用户的密码userdel 用户名
:删除用户帐号usermod 用户名
:修改帐号passwd -S 用户名
:显示用户账号密码信息passwd -d 用户名
: 清除用户密码
-
其它常用命令
-
pwd
: 显示当前所在位置 -
su - 用户名 : 切换用户
-
sudo + 其他命令
:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。 -
grep 要搜索的字符串 要搜索的文件 --color
: 搜索命令,–color 代表高亮显示 -
ps -ef
/ps -aux
: 这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同。如果想要查看特定的进程可以使用这样的格式:ps aux|grep redis
(查看包括 redis 字符串的进程),也可使用pgrep redis -a
。注意:如果直接用 ps((Process Status))命令,会显示所有进程的状态,通常结合 grep 命令查看某进程的状态。
-
kill -9 进程的pid
: 杀死进程(-9 表示强制终止。)先用 ps 查找进程,然后用 kill 杀掉
-
网络通信命令:
- 查看当前系统的网卡信息:ifconfig
- 查看与某台机器的连接情况:ping 192.1.8.212
- 查看当前系统的端口使用:netstat -an
- 查看指定端口是否启动: lsof -i : 8080
- 查看网络端口是否互通:telnet 192.1.8.212 8080
-
net-tools 和 iproute2 :
net-tools
起源于 BSD 的 TCP/IP 工具箱,后来成为老版本 LinuxLinux 中配置网络功能的工具。但自 2001 年起,Linux 社区已经对其停止维护。同时,一些 Linux 发行版比如 Arch Linux 和 CentOS/RHEL 7 则已经完全抛弃了 net-tools,只支持iproute2
。linux ip 命令类似于 ifconfig,但功能更强大,旨在替代它。更多详情请阅读如何在 Linux 中使用 IP 命令和示例 -
shutdown
:shutdown -h now
: 指定现在立即关机;shutdown +5 "System will shutdown after 5 minutes"
:指定 5 分钟后关机,同时送出警告信息给登入用户。 -
reboot
:reboot
: 重开机。reboot -w
: 做个重开机的模拟(只有纪录并不会真的重开机)。
-
-
补充一个比较常用的东西:
假如我们装了一个 zookeeper,我们每次开机到要求其自动启动该怎么办?
- 新建一个脚本 zookeeper
- 为新建的脚本 zookeeper 添加可执行权限,命令是:
chmod +x zookeeper
- 把 zookeeper 这个脚本添加到开机启动项里面,命令是:
chkconfig --add zookeeper
- 如果想看看是否添加成功,命令是:
chkconfig --list
-
在linux中运行jar包
可以写在shell脚本里面,然后运行脚本,也可以直接敲命令。以下是脚本内容:
#data +%Y%m%d 获取格式化时间
rq= date +%Y%m%d
nohup java -jar feature-bookstore-$rq.jar >> feature-bookstore.out &
tail -f feature-bookstore.out
端口和防火墙相关
netstat -aptn 查看开放的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent 开放3306端口
lsof -i : 8080 查看8080端口是否启动
systemctl status firewalld 查看防火墙状态
systemctl start firewalld 开启防火墙
systemctl stop firewalld 关闭防火墙
systemctl restart firewalld 重启防火墙
vim /etc/firewalld/firewalld.conf 查看配置防火墙配置文件
其他
-
reset 重新初始化终端/清屏
-
clear 清屏
-
history 查看历史命令
-
help 帮助
-
exit 退出
rm -rf 切勿在linux中轻易使用这个命令,搞不好会删除电脑中所有的文件(包括linux本身)