linux常用命令

1. Linux目录结构

* root目录:超级管理员所在的目录,用~表示

* home目录:普通用户所在的目录

* usr目录:安装用户文件所在的目录

* etc目录:Linux系统管理和配置文件所在的目录

2. 文件夹(目录)操作命令

1)查看

* 语法
		ls [参数]

* 参数解释
		-l  以详细形式查询当前目录下所有文件和目录,不包括隐藏文件和目录
		-a  以精简形式查询当前目录下所有文件和目录,包括隐藏文件和目录
		
* 命令
        cd /		进入根目录
        ls      	以精简形式查询当前目录下的内容
        ls -l     	以详细形式查询当前目录下的内容,d表示目录,-表示文件;此命令可以简写为ll
        ls -a    	以精简形式查询当前目录下的隐藏内容
        ls -la    	以详细形式查询当前目录下的隐藏内容,la和al都可
        clear    	清屏
        ll			相当于ls -l 查看详情

2)切换

* 语法
		cd 目录
			绝对路径
				/
			相对路径
				./ 当前
				../ 上级
		
* 命令
			cd	~	当前用户目录
            cd	/	根目录
            cd 	-	上一次访问的目录
            cd	..	上一级目录
            cd		缺省当前用户目录

3)创建

* 语法
		mkdir [参数] 目录

* 参数解释
		-p 一次性创建多级目录,如果目录存在不会覆盖
		
* 命令
        cd /			 定位于根目录
        mkdir aaa        在当前目录下创建aaa目录,相对路径
        mkdir ./bbb      在当前目录下创建bbb目录,相对路径
        mkdir /ccc       在根目录下创建ccc目录,绝对路径
        mkdir -p /ddd/eee	 在根目录下创建ddd目录和eee子目录

4)搜索

* 语法
		find 目录 -name '条件'
		
* 命令
        cd /
        find / -name  'b'      查询根目录下(包括子目录),名为b的目录和文件
        find / -name  'b*'     查询根目录下(包括子目录),名以b开头的目录和文件
        在Linux中,按ctrl+c     强行终止程序执行

5)修改【伪实现】

* 语法
		mv 	旧目录	 新目录

* 命令
		cd /
		mv aaa aaaa     将根目录下的aaa目录修改为aaaa

6)剪切

* 语法
		mv 	原目录位置 	新目录的位置

* 命令
		cd /					
		mv  /aaaa /bbb       将根目录下的aaaa目录,移动到bbb目录下,在bbb目录下也叫aaaa目录
		mv  bbb  usr/bbbb    将当前目录下的bbb目录,移动到usr目录下,且修改名为bbbb	

7)复制【支持改名】

* 语法
		cp   -r	目录   目录的新位置
		
* 参数解释
		-r  递归处理,将指定目录下的文件与子目录一并处理
		
* 命令
		cd /					 定位于/目录
        cp -r  /aaa   /bbb       将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下名字为aaa
        cp -r  /aaa   /bbb/aaaa  将/目录下的aaa目录复制到/bbb目录下,且修改名为aaaa

8)删除【了解】

* 语法
		rmdir   [参数]	目录
		
* 参数解释
		-p 删除目录及其父目录
		
* 命令
		cd  /		 
		rmdir bbb/ccc		删除bbb目录下ccc目录
		rmdir -p bbb/ccc	删除bbb目录和ccc子目录

9)小结

1. 查看当前目录下信息
	ll
	
2. 切换目录
	cd
		/ 绝对路径
		../ or [./] 相对路径
		
3. 创建文件夹
	mkdir -p 文件夹名
	
4. 搜索
	find / -name '*.cfg'
	
5. 改名
	mv 旧名 新名
	
6. 剪切
	mv 旧位置 新位置
	
7. 复制【支持改名】
	cp -r 文件名【文件夹】 新位置
	
8. 删除
	rmdir -p 多级目录名

3. 文件操作命令

1)创建

* 语法
		touch 	文件名.扩展名
		
		
* 命令
        cd  /soft		 定位于/soft目录
        touch  a.java    在soft目录中创建a.java文件
        touch  b.txt     在soft目录中创建b.txt文件
        touch  c.xml     在soft目录中创建c.xml文件

2)查看

* 语法
		cat/more/less/head/tail	文件

* 命令
		cd /soft		 
        cat a.java         查看a.java文件的最后一页内容
        more a.java        从第一页开始,按回车键换行,按空格健翻页,q退出
        less a.java        从第一页开始,按回车键换行,按空格健翻页,支持使用PgUp和PgDn翻页,q退出
        head a.java 	   查看a.java文件的前10行内容
        tail a.java		   查看a.java文件的后10行内容
        head -n 7 a.java   查看a.java文件的前7行内容
        tail -n 7 a.java   查看a.java文件的后7行内容
        
* 小结
	如果查看的内容在一页内可以展示:cat
	如果查看的内容过多需要翻页:
		less
			回车 下一行
			空格 下一页
			PGUP 上一页
			PGDN 下一页
	如果想查看前几行内容:head
	如果先查看后几行内容:tail

3)删除【掌握】

* 语法
		rm   [参数]	  目录或文件
		
* 参数解释
		-r  递归处理,将指定目录下的所有文件及子目录一并处理,它会询问你,y表示是删除,n表示不删除
		-f  强制删除目录,它不会询问你
		
* 命令
		cd  /soft
        rm -rf a.java      强行式删除当前目录下的a.java文件
        rm -rf ./a*        强行式删除当前目录下以a开头的所有文件
        rm -rf /*           自杀

4)编辑 (Vi和Vim)

​ linux 下的vi 是一种文字编辑器,后来的升级版本是vim。vi 分为三种模式:命令行、插入、底行模式。

* 简单使用
		vim a.java
        i 切换到插入模式
        esc 切换到命令行模式
		:wq! 保存并退出 | :q! 直接退出


* 切换到插入模式
        i 在当前位置前插入
        I 在当前行首插入
        a 在当前位置后插入
        A 在当前行尾插入
        o 在当前行之后插入一行
        O 在当前行之前插入一行

* 切换到命令行模式
		 按Esc键
		 yy	复制当前行
      	 p	粘贴
      	 dd	删除当前行
      	 G	到文件的最后一行
      	 gg	到文件的第一行  
        
* 切换到底行模式
		按 :(冒号)
		:wq	保存退出
		:q	退出vi(文件无修改的情况下)
		:q!	不保存强制退出

4.文件压缩命令

windows的压缩文件的扩展名:  .zip或.rar

Linux中的打包文件扩展名:.tar

Linux中的压缩文件扩展名:.gz

Linux中打包压缩的文件扩展名:.tar.gz

1)打压缩包

* 语法
		tar	-zcvf  打包压缩后的文件名  要打包的文件
		tar -zcvf  xxxxx.tar.gz  a.java b.java c.xml
		tar -zcvf  xxxxx.tar.gz  *
		
* 参数解释
		-z:调用gzip压缩命令进行压缩
        -c:打包文件
        -v:显示运行过程
        -f:指定文件名
        
* 命令
		cd /soft			定位于/soft目录
        tar   -zcvf 	haha.tar.gz   a.java  b.java  c.java
        或
        tar   -zcvf		haha.tar.gz   ./*  将当前目录下的所有文件打包压缩成haha.tar.gz文件

2)解压缩包

* 语法
		tar -zxvf  压缩文件 
			解压后的文件放在当前目录中
		tar -zxvf  压缩文件 –C指定目录
			解压后的文件放入指定目录中,注意-C是大写字母C,后面不用接空格符
			
* 参数解释
		-z   自动识别压缩或解压
		-x   取出文件中的内容
		-v   输出文件清单
		-f   文件名由命令台设置
		
* 命令
		cd  /soft					定位于/soft目录
		rm -rf  ./*.java			强制式删除当前目录下所有扩展名为java的文件
		tar  -xvf  haha.tar.gz		解压haha.tar.gz这个压缩文件,里面的文件释放到当前目录下
		tar  -xvf  haha.tar.gz -C/usr/local	
                           		 解压haha.tar.gz这个压缩文件,里面的文件释放到/usr/local目录下

5. 文件权限命令

Linux中对每个目录和文件都做了规定,只能由满足条件的用户才能操作,这个规定叫权限。

* 语法
		chmod	[参数]	[<权限范围><符号><权限代号>]
		
* 参数解释
		-R 递归处理,将指定目录下的所有文件及子目录一并处理
		
* 权限范围
        u:User,即文件或目录的拥有者。 
        g:Group,即文件或目录的所属群组。 
        o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。 
        a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
        
* 符号解释
			+ 添加权限
			- 取消权限
			= 重置权限
			
* 权限代号
			r:读取权限,数字代号为"4"
    		w:写入权限,数字代号为"2"
    		x:执行或切换权限,数字代号为"1"
    		-:不具任何权限,数字代号为"0"
    		
* 命令
        chmod u+x 1.txt    给1.txt的拥有者添加执行权限,这种写法稍微有点麻烦,开发中一般使用数字代号
        chmod 755 1.txt	   给1.txt的拥有者设置读写执行权限,给所属组添加读和执行权限,给其他用户添加							 读和执行权限
        chmod -R 777 a.txt	   给所有人添加对此文件操作的所有权限

6. 其他命令

1)显示工作目录

* 语法
		pwd

2)查看进程

* 语法
		ps -au 当前客户端连接linux后,运行的进程信息
		ps -ef linux系统所有的进程信息		
		
* 参数解释
		-a   显示所有用户通过终端启动的所有进程
		-A   显示所有进程
		-u   显示所有用户通过终端启动的所有进程详细信息
		-x   显示所有用户通过终端和非终端启动的所有进程详细信息
		-e   此参数的效果和指定"A"参数相同,显示所有程序
		-f   显示UID,PPID,C与STIME栏位

3)杀死进程

* 语法
		kill 进程号		温柔杀死
		kill -9 进程号		强制杀死

4)搜索(针对文件)

* 语法
		grep	[参数]	搜索字符串	文件名 

* 参数解释
		-i   搜索时不区分大小写,大小写不敏感
		-n   显示匹配行及行号,大小写敏感
		-v   显示不匹配行及行号,大小写敏感
		
* 命令
        cd /
        grep as 123.txt				在123.txt文件中搜索as字符串,大小写敏感,显示行		
        grep -n as 123.txt			在123.txt文件中搜索as字符串,大小写敏感,显示行及行号
        grep -v as 123.txt			在123.txt文件中搜索as字符串,大小写敏感,显示没搜索到行
        grep -i as 123.txt			在123.txt文件中搜索as字符串,大小写不敏感,显示行
        grep -ni "Q q" 123.txt	    在123.txt文件中搜索Q q字符串,大小写不敏感,显示行及行号

5)管道

* 语法
		xx | xx
		一个命令的输出用作另一个命令的输入
		
* 命令
		ls --help | more    分页查询帮助信息
		ps -au | grep system 	在ps -au的结果中,搜索字符串a

6)关机

* 语法
		poweroff

7)重启

* 语法
		reboot
posted @ 2020-01-06 21:55  Runtimeing  阅读(359)  评论(0编辑  收藏  举报