linux基本操作命令

linux基本操作命令

薛定谔的汪

小舅子刚上大学,他最近对linux感兴趣,所以总结些常用、还有我开发中会用到的linux命令,希望能帮到他,同时也是对自己的一个总结。

服务器版的Linux安装完毕了,但没有图形化界面,我们只能通过控制台去操作系统,我们就要使用类似DOS命令的Linux命令去操作系统,那么下面我们就进行Linux的命令的学习。Linux命令成百上千,不能一一涉及,也没有必要,根据日常工作中的需求,总结如下几种。

目录切换命令

window中通过图形化界面和鼠标可以任意切换需要进入的目录,但Linux必须通过cd命令切换目录。但在学习cd命令之前,我们有必要分清Linux的目录结构

img

cd usr 切换到该目录下usr目录

cd ../ 切换到上一层目录

cd / 切换到系统根目录

cd ~ 切换到用户主目录

cd - 切换到上一个所在目录

目录的操作命令(增删改查)

linux的命令遵循结构:命令 -[参数]

增加目录操作(增)

命令:

mkdir 目录名称

mkdir -p 目录名称 父目录也会创建 如:mkdir /mysoft/jdk

示例:在根目录 / 下 mkdir test,就会在根目录 / 下产生一个test问目录img

查看目录(查)

命令:ls [-al] 父目录

示例:在根目录 / 下使用ls,可以看到该目录下的所有的目录和文件img

示例:在根目录 / 下使用ls -a,可以看到该目录下的所有文件和目录,包括隐藏的 img

示例:在根目录 / 下使用ls -l,可以看到该目录下的所有目录和文件的详细信息 img

注意:ls -l 可以缩写成ll

搜索目录(查)

命令:find 目录 参数 文件名称

示例:

find / -name ‘test*’查找“/”目录下的 test文件

find . -name "*.xml" 递归查找所有的xml文件

find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件

ls -l | grep '.jar' 查找当前目录中的所有jar文件

修改目录的名称(改)

命令:mv 目录名称 新目录名称

示例:test目录下有一个oldTest目录,使用mv oldTest newTest命令修改img

注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行重命名的操作

移动目录的位置—剪切(改)

命令:mv 目录名称 目录的新位置

示例:在test下将newTest目录剪切到 /usr下面,使用mv newTest /usrimg

注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作****

拷贝目录(改)

命令:cp -r 目录名称 目录拷贝的目标位置 —–r代表递归

示例:将/usr下的newTest拷贝到根目录下的test中,使用cp -r /usr/newTest /test img

注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不用写-r递归

删除目录(删)

命令:rm [-rf] 目录

示例:删除/usr下的newTest,进入/usr下使用rm -r newTestimg

示例:删除/test下的newTest而不需要询问强制删除,在/test下使用rm -rf newTest img

注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包

文件的操作命令(增删改查)

文件的创建(增)

命令:touch 文件名称 —– 空文件

示例:在test目录下创建一个空文件 touch aaa.txt img

文件的查看(查)

命令:cat/more/less/tail 文件

示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容 img

示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看

img

示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看 img

示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束 img

**注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件,会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控文件的变化 **

grep 'test' d* 显示所有以d开头的文件中包含test的行。

grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。

grep '[a-z]\{5\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

修改文件的内容(改)

命令:vim文件

示例:编辑/test下的aaa.txt文件,使用vim aaa.txt img

但此时并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式,可以 编辑文件img

编辑完成后,按下Esc,退回命令模式

img

此时文件虽然已经编辑完成,但是没有保存,需输入冒号:进入底行模式,在底行模 式下输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。 img

总结:

vim编辑器是Linux中的强大组件,是vi编辑器的加强版,vim编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就可以了。

关于vim使用过程:

vim 文件——–>命令模式———>输入i———->编辑模式———–>编辑文件———–>按下Esc———>命令模式———>按下:———->底行模式———–>输入wq保存并退出/q!强制退出不保存

删除文件(删)

同目录删除:熟记rm -rf文件 即可

压缩文件的操作命令

打包并压缩文件

Windows的压缩文件的扩展名 .zip/.rar

linux中的打包文件:.tar

linux中的压缩文件:.gz

linux中打包并压缩的文件:.tar.gz

Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。

而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

命令:tar -zcvf 打包压缩后的文件名 要打包的文件

其中:z:调用gzip压缩命令进行压缩

c:打包文件

v:显示运行过程

f:指定文件名

示例:打包并压缩/test下的所有文件 压缩后的压缩包指定名称为xxx.tar.gz

tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt

或:tar -zcvf xxx.tar.gz /test/* img

解压压缩包(重点)

命令:tar [-xvf] 压缩文件

其中:x:代表解压

示例:将/test下的xxx.tar.gz解压到当前目录下

tar -xvf xxx.tar.gz img

示例:将/test下的xxx.tar.gz解压到根目录/usr下

tar -xvf xxx.tar.gz -C /usr——C代表指定解压的位置 img

其他命令

显示工作目录

命令:pwd

查看进程

命令:ps -ef —显示所有的进程

ps –ef|grep tomcat 查看所有有关tomcat的进程

ps -ef|grep --color java 高亮要查询的关键字

kill命令

命令:kill -9 pid(pid是进程的id)

搜索命令

命令:grep 要搜索的字符串 要搜索的文件

示例:搜索/usr/sudu.conf文件中包含字符串to的行img

示例:搜索/usr/sudu.conf文件中包含字符串to的行 to要高亮显示 img

管道命令

命令:| 将前一个命令的输出作为本次目录的输入

示例:查看当前系统中所有的进程中包括system字符串的进程 img

网络通信命令

查看当前系统的网卡信息:ifconfig img

查看与某台机器的连接情况:ping img

查看当前系统的端口使用:netstat -an img

查看端口占用情况

netstat -tln | grep 8080 查看端口8080的使用情况

查看端口属于哪个程序

lsof -i :8080

查看本机外网 IP地址

curl ifconfig.me

关机命令

重启命令:reboot

立即关机:halt

查看系统运行情况

top -H -p pid 查看某个 pid 进程的所有线程占用情况。可以根据里面的线程 id 转为16进制再到 java 的 jstack里面对比,找出哪个线程有问题。

查看内存使用情况

free -m

远程复制

从远程服务器上复制到本地

scp -r remote_username@remote_ip:remote_path local_path
scp -r root@192.168.100.49:/home/test /root 将服务器地址为192.168.100.49的/home/test 文件夹下的所有文件复制到本服务器的/root

从本地复制到远程服务器

scp -r local_path remote_username@remote_ip:remote_path

打印信息:

echo $JAVA_HOME

打印 java home 的环境变量

远程登录

ssh username@ip

Linux的权限命令

权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限

示例:在随意某个目录下ls -l img

第一列的内容的信息解释如下:img

文件的类型:

d:代表目录

-:代表文件

l:代表链接(可以认为是window中的快捷方式)

后面的9位分为3组,每3位置一组,分别代表属主的权限,与当前用户同组的 用户的权限,其他用户的权限

r:代表权限是可读,r也可以用数字4表示

w:代表权限是可写,w也可以用数字2表示

x:代表权限是可执行,x也可以用数字1表示

修改文件/目录的权限的命令:chmod

示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,

其他用户只有读的权限

chmod u=rwx,g=rw,o=r aaa.txt img

上述示例还可以使用数字表示:

chmod 764 aaa.txt

  • Title: linux基本操作命令
  • Author: 薛定谔的汪
  • Created at : 2018-01-21 08:58:02
  • Updated at : 2023-11-17 19:37:37
  • Link: https://www.zhengyk.cn/2018/01/21/linux/Linux-Command/
  • License: This work is licensed under CC BY-NC-SA 4.0.