一、Linux命令
1、ls命令:显示指定工作目录下的内容(列出目前工作目录所含的文件及子目录)
ls(选项)(参数)
选项:
-a:显示所有文件及目录(不会列出以“.”开头的文件名或目录名,在Linux中以“.”开头的是隐藏文件)
-l:除文件名外,也将文件类型、权限、拥有者、文件大小等资讯详细列出
-r:将文件以相反次序显示(原定以英文字母次序显示)
-t:用文件和目录的更改时间排序
-A:显示所有文件及目录(不列出“.”目前目录与“..”父目录)
-F:在列出的文件名后加符号
-R:若目录下有文件,则将文件依次序列出
-ltr:显示最新的修改文件或目录日期
-ls:显示文件大小的顺序,将首先显示大的大小
-n:显示文件和目录的UID和GID
参数:
目录:指定要显示列表的目录
2、lsblk命令:用于列出所有可用块设备的信息,还能显示他们之间的依赖关系,但不会列出RAM盘的信息。
lsblk命令默认情况下将以树状列出所有块设备
-a:显示所有设备
-b:以bytes方式显示设备大小
-d:不显示 slaves 或 holders
-e:排除设备 (default: RAMdisks)
-f:显示文件系统信息
-h:显示帮助信息
-m:显示权限信息
-l:使用列表格式显示块设备
-n:不显示标题
-o:输出列
-P:使用key="value"格式显示
-r:使用原始格式显示
-t:显示拓扑结构信息。
4、uname命令:用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)
uname(选项)
选项:
-a或—all:显示全部
-p或--processor:输出处理器类型或"unknown"
-i或--hardware-platform:输出硬件平台或"unknown"
-o或--operating-system:输出操作系统名称;
-m或—machine:显示电脑类型
-n或-nodename:显示在网络上的主机名称
-r或—release:显示操作系统的发行编号
-s或—sysname:显示操作系统名称
-v:显示操作系统的版本
--help:显示帮助
--version:显示版本信息
5、history命令:用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,
history(选项)(参数)
选项:
-c:清空当前历史命令
-a:将历史命令缓冲区中命令写入历史命令文件中
-r:将历史命令文件中的命令读入当前历史命令缓冲区
-w:将当前历史命令缓冲区命令写入历史命令文件中
参数
n:打印最近的n条历史记录
打印最近使用的10条记录:history 10
6、sudo命令:允许授权用户执行超级用户或者其它用户的命令,预设的身份为root
,通过在sudoers列表的安全策略来指定
sudo(选项)(参数)
选项:
-b:在后台执行指令
-h:显示版本编号及指令的使用方式说明
-H:将HOME环境变量设为新身份的HOME环境变量
-k: 将会强迫使用者在下一次执行sudo 时问密码(不论有没有超过 N 分钟)
-l:显示出自己(执行 sudo 的使用者)的权限
-p:改变询问密码的提示符号
-s:执行指定的shell
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份
-v:重新做一次确认,如果超过 N 分钟,也会问密码
-V :显示版本信息。
参数:
指令:需要运行的指令和对应的参数
7、mkdir命令:用于建立名称为dirName 之子目录
mkdir(选项)(参数)
选项:
-Z:设置安全上下文,当使用SELinux时有效
-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
-p:确保目录名称存在,不存在就新建一个
参数:
目录:指定要创建的目录列表,多个目录之间用空格隔开
8、chmod命令:控制文件如何被他人所调用。
chmod(选项)(参数)
选项:
-c或——changes: 若该文件权限确实已经更改,才显示其更改动作
-f或--quiet或——silent:若该文件权限无法被更改也不要显示错误讯息
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理
-v或——verbose: 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
<权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置
<权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置
<权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置
9、chown命令:将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限
chown(选项)(参数)
选项:
-c : 若该文件拥有者确实已经更改,才显示其更改动作
-f : 若该文件拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link真正指向的文件
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
--help:在线帮助
--version:显示版本信息
参数:
用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者
文件:指定要改变所有者和工作组的文件列表。支持多个文件和目标,支持shell通配符
10、tree命令:用于以树状图列出目录的内容,执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。
-a:显示所有文件和目录。
-A:使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C:在文件和目录清单加上色彩,便于区分各种类型。
-d:显示目录名称而非内容。
-D:列出文件或目录的更改时间。
-f:在每个文件或目录之前,显示完整的相对路径名称。
-F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","号。
-g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i:不以阶梯状列出文件或目录名称。
-I:<范本样式> 不显示符合范本样式的文件或目录名称。
-l:如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n:不在文件和目录清单加上色彩。
-N:直接列出文件和目录名称,包括控制字符。
-p:列出权限标示。
-P:<范本样式> 只显示符合范本样式的文件或目录名称。
-q:用"?"号取代控制字符,列出文件和目录名称。
-s:列出文件或目录大小。
-t:用文件和目录的更改时间排序。
-u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x:将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
二、常用命令
1、查找文件
find / -name filename.txt 根据名称查找/目录下的filename.txt文件
find . -name “*.xml” 递归查找所有的xml文件
find . -name “*.xml” |xargs grep “Hello World” 递归查找所有文件内容中包含hello world的xml文件
grep -H ‘spring’ *.xml 查找所以有的包含spring的xml文件
find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件
ls -l | grep ‘jar’ 查找当前目录中的所有jar文件
grep ‘test’ d* 显示所有以d开头的文件中包含test的行
grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行
grep ‘[a-z]/{5/}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行
2、查看一个程序是否运行
ps –ef|grep tomcat 查看所有有关tomcat的进程
3、终止线程
kill -9 19979 终止线程号位19979的线程
4、ls -al 查看文件,包含隐藏文件
5、pwd 当前工作目录
6、复制文件
cp sourceFolder targetFolder
scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝
7、mkdir newfolder 创建目录
8、删除目录
rmdir deleteEmptyFolder 删除空目录
rm -rf deleteFile 递归删除目录中所有内容
9、mv /temp/movefile /targetFolder 移动文件
10、mv oldNameFile newNameFile 重命令
11、su -username 切换用户
12、修改文件权限
chmod 777 file.java file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
13、tar -czf test.tar.gz /test1 /test2 压缩文件
14、tar -tzf test.tar.gz 列出压缩文件列表
15、tar -xvzf test.tar.gz 解压文件
16、head -n 10 example.txt 查看文件头10行
17、tail -n 10 example.txt 查看文件尾10行
18、查看日志类型文件
tail -f exmaple.log 这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)
19、使用超级管理员身份执行命令
sudo rm a.txt使用管理员身份删除文件
20、查看端口占用情况
netstat -tln | grep 8080 查看端口8080的使用情况
21、查看端口属于哪个程序
lsof -i :8080
22、查看进程
ps aux|grep java 查看java进程
ps aux 查看所有进程
23、tree a 以树状图列出目录的内容
24、文件下载
wget http://file.tgz
25、pingwww.taobao.com 网络检测
26、ssh userName@ip 远程登录
27、打印信息
echo $JAVA_HOME 打印java home环境变量的值