JAVA面试高级技术栈-02Linux基本指令
想要了解更多?:
JAVA面试高级技术栈-01-多线程编程
JAVA面试高级技术栈-02Linux基本指令
JAVA面试高级技术栈-03JVM(Java虚拟机)
JAVA面试高级技术栈-04-MySql优化
JAVA面试高级技术栈-05-Redis持久化
JAVA面试高级技术栈-06-Spring
文章目录
Linux基本指令
目录及文件操作
创建目录
mkdir abc #在当前目录下创建一个名为abc的文件夹
mkdir /usr/abc #在指定目录下创建一个名为abc的文件夹
删除目录或文件
命令:rm [-rf] 目录/文件
- 删除目录
rm -r 目录1 #递归删除当前目录下的指定目录1
rm -rf 目录2 #递归删除当前目录下的指定目录2(不询问)
rm -rf * #将当前目录下的所有目录和文件全部删除
rm -rf /* #【自杀行为命令!谨慎使用!】将会把根目录下的所有目录及文件全部删除
- 删除文件
rm 文件名称 #删除当前目录下的指定文件
rm -f 文件文件 #删除当前目录下的指定文件(不询问)
重命名目录或文件名称
命令:mv 当前目录/文件 需改成的目录/文件名称
mv aaa bbb #将目录aaa改为bbb(重命名)
mv aaa.text bbb.text #将文件aaa改为bbb(重命名)
目录切换
命令:cd --切换目录
cd / #切换到根目录
cd /root #切换到根目录下的root目录
cd .. #切换到上一级目录
cd ~ #切换到home目录
cd - #切换到上次访问的目录
目录及文件列表查看
命令:ls [-al]或ll
ls #查看当前目录下的所有目录和文件
ls -a #查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll #查看当前目录下的所有目录和文件(以列表方式显示查看,显示更多信息)
ls /data #查看指定目录下的所有目录和文件(如:ls /data)
复制目录或文件
命令:cp -r/cp 目录/文件名称 目录/文件拷贝的目标位置 -r代表递归(仅只复制文件不需要加-r,如果复制目录必须加此-r选项
,加上后则会拷贝文件夹——包括下一级的子文件夹,以及子文件夹中的子文件夹,以此类推。)
cp -r /data/a/aaa /usr #将/data/a目录下的aaa目录复制到 /usr目录下面
cp /data/a/aaa.text /usr #将/data/a目录下的aaa.text文件复制到 /usr目录下面
cp /data/a/aaa.text /data/a/bbb.text #将/data/a目录下的aaa.text文件备份到 /data/a目录下面bbb.text (当前目录下的文件复制则备份文件名称不能跟原来一致)
剪切目录或文件
命令:mv 目录/文件名称 目录/文件的新位置
mv /data/a/aaa /usr #将/data/a目录下的aaa目录剪切到 /usr目录下面
mv /data/a/aaa.text /usr #将/data/a目录下的aaa.text文件剪切到 /usr目录下面
搜索目录或文件
命令:find -name 目录/文件 参数 文件名称
1.find /data/tmp -name 'a*' #查找/usr/tmp目录下的所有以a开头的目录或文件
2.find -name 'a*' #查找当前目录下的所有以a开头的目录或文件
创建文件
命令:touch 文件名
touch aa.tx #在当前目录创建一个名为aa.txt的文件
终止当前操作
命令:Ctrl+c和Ctrl+z都是中断命令,作用不一样。
Ctrl+Z将任务中断,但是此任务并没有结束,在进程中只是维持挂起的状态,用户可以使用fg/bg操作前台或后台的任务,bg命令把被中断的任务放在后台执行,fg命令重新启动前台被中断的任务。
Ctrl+C是强制中断程序的执行。
重定向功能
可以使用 > 或 < 将命令的输出的命令重定向到aa.txt文件中(如果没有这个文件则创建一个)
命令:echo [选项] [输出内容]
选项:
-e:支持反斜线控制的字符转换
-n:取消输出后行末的换行符号(内容输出后不换行)
echo 'Hello World' > /root/test.txt #将字符串“Hello World” 写入到test.txt文件中
echo "c.biancheng.net" #echo后面的内容就会打印到屏幕上
文件打包和压缩及解压操作
文件打包和压缩
命令:tar/unzip/zip
linux中的打包文件格式:.tar
linux中的压缩文件格式:.gz
linux中打包并压缩的文件格式:.tar.gz
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
-
命令:``tar -zcvf 打包压缩`后的文件名 要打包的文件可以多个
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
tar -cvf ab.tar 1.txt 2.txt #将当前目录下1.txt 2.txt打包为ab.tar文件
tar -cvf ab.tar ./* #将当前目录下的所有文件打包压缩成ab.tar文件
tar -zcvf ab.tar.gz 1.txt 2.txt 打包并压缩当前目录下的1.txt 2.txt文件 压缩后的压缩包指定名称为ab.tar.gz
tar -zcvf ab.tar.gz * #打包并压缩当前目录下的所有文件 压缩后的压缩包指定名称为ab.tar.gz
- 命令:unzip/zip
压缩(zip)
zip a.zip 1.txt #将单个文件压缩(a.zip)
zip -r a.zip a/ #将目录进行压缩(a.zip)
zip -r a.zip 1.tx 2.txt #将多个文件压缩为zip文件(a.zip)
文件解压
命令:tar [-zxvf] 压缩文件
其中:x:代表解压
tar -xvf(-zxvf) a.tar #解压a.tar压缩包,到当前文件夹下;
tar -zxvf a.tar #解压a.tar压缩包,到当前文件夹下;
tar -xvf a.tar -C data/local #解压a.tar压缩包,到/data/local目录下
(C为大写,中间无空格,C代表指定解压的位置)
tar -zxvf a.tar.gz #解压a.tar.gz压缩包,到当前文件夹下
tar -zxvf a.tar.gz -C usr/local #解压a.tar.gz压缩包,到/data/local目录下
(C为大写,中间无空格,C代表指定解压的位置)
tar xf a.tar.xz #解压a.tar.xz压缩包,到当前文件夹下
解压缩(unzip)
1.unzip a.zip #解压一个zip格式压缩包
2.unzip -d /data/app/a.zip #将a.zip包,解压到指定/data/app/目录下
查找操作命令
命令:grep
grep abc test.txt # 在test.txt文件中搜索abc字符串,大小写敏感且显示行;
grep -n abc test.txt #在test.txt文件中搜索abc字符串,大小写敏感且显示行及行号;
grep -v abc test.txt #在test.txt文件中搜索abc字符串,大小写敏感且显示没搜索到的行;
grep -i abc test.txt #在test.txt文件中搜索abc字符串,大小写敏感且显示行;
grep -ni abc test.txt #在test.txt文件中搜索abc字符串,大小写敏感且显示行及行号;
ps -ef | grep nginx #查找指定nginx服务进程
ps -ef | grep nginx | grep -v grep #查找指定服务进程,排除gerp身
ps -ef | grep nginx -c #查找指定进程个数
系统操作命令
关机和重启命令
命令:shutdown(关闭计算机)
shutdown是最常用也是最安全的关机和重启命令,它会在关机之前调用fsck检查磁盘,其中-h和-r是最常用的参数:
-h:停止系统服务并关机 ;-r: 停止系统服务后重启
#关机
shutdown -h now #立刻关机
shutdown -h 15:30 #到15:30关机,如果该时间小于当前时间,则到隔天关机
shutdown -h 5 #5分钟后关机
poweroff #立刻关机
#重启
shutdown -r now #立刻重启
shutdown -r 5 #5分钟后重启
reboot #立刻重启
查找帮助命令
命令:–help;man命令(命令说明书)
1.shutdown --help:
2.ifconfig --help: #查看网卡信息
3.man shutdown #注意:man shutdown打开命令说明书之后,使用按键q退出
命令快速查询
-
netstat -anp | grep +端口号
(根据端口号查询进程) -
ls
(查看指定目录中有哪些内容) -
ls /
相当于查看根目录中的内容,相当于查看我的电脑 -
ls -l
(小写l,或者使用ll)详细查看目录下所有内容 -
cd..
返回上一级目录 -
ctrl+l
可以进行清屏 -
pwd
(显示用户在哪个目录下(绝对路径)) -
cd+目录名称
(将用户切换到指定目录)