一、Linux目录结构

常用命令汇总 - 图1

  • bin (binaries)存放二进制可执行文件
  • sbin (super user binaries)存放二进制可执行文件,只有root才能访问
  • etc (etcetera)存放系统配置文件
  • usr (unix shared resources)用于存放共享的系统资源
  • home 存放用户文件的根目录
  • root 超级用户目录
  • dev (devices)用于存放设备文件
  • lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
  • mnt (mount)系统管理员安装临时文件系统的安装点
  • boot 存放用于系统引导时使用的各种文件
  • tmp (temporary)用于存放各种临时文件
  • var (variable)用于存放运行时需要改变数据的文件

查看系统内核版本
uname -r

二、常用命令

1、查找文件(find)

安装目录树命令
yum install -y tree
查看当前目录
tree
image.png

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、终止进程

通过ps -ef|grep 程序名 获取相关PID

kill -9 19979 终止线程号为19979的进程

4、查看文件(包含隐藏文件)

ls -al

5、当前工作目录

pwd

6、复制文件(cp)

cp source dest 复制文件
cp -r sourceFolder targetFolder 递归复制整个文件夹
scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝

7、创建目录(mkdir)

mkdir newfolder

参数说明

  • -p 确保目录名称存在,不存在的就建一个。

    8、删除目录(rm)

    rmdir deleteEmptyFolder 删除空目录
    rm -rf deleteFile 递归删除目录中所有内容

    9、移动文件(mv)

    mv /temp/movefile /targetFolder

    9.1、重命名

    mv oldNameFile newNameFile

10、创建文件(touch)

touch

1.1 创建一个文件

touch yyTest.ini

1.2 同时创建两个文件

touch test1.txt test2.txt

1.3 批量创建文件(如创建2000个文件)

touch test{0001..2000}.txt

1.4 更改文件 yyTest.ini时间为当前时间(yyTest.ini已存在)

touch yyTest.ini

vi和vim

2.1 vi

vi test.txt

2.2 vim

vim touch.txt

使用>、>>

3.1 >

直接覆盖原文件,不会有任何提示

3.2 >>

追加在原文件末尾,不会覆盖原文件的内容

3.3 直接用>创建空文件

> test.ini

3.4 ls 创建文件(将结果写入文件)

ls > test.ini
ls >> test.ini

3.5 grep 创建文件(将结果写入文件)

ps -ef | grep java >test.ini
ps -ef | grep java >>test.ini

3.6 echo 创建文件(将结果写入文件)

echo $PATH > test.ini
echo $PATH >> test.ini

4 使用cp创建文件

只要目标文件是新文件则算创建文件,cp详细命令解读可看此博文:https://www.cnblogs.com/poloyy/p/12514389.html

5 使用cat创建文件

5.1 简单使用>、>>

cat > test.ini
cat >> test.ini

5.2 cat结合eof

  1. cat >> test.ini <<eof
  2. 2
  3. 2
  4. 2
  5. eof

eof可以作为一个分界符,遇到下一个分界符时停止输入;大小写一样的哦

5.3 cat结合exit

和eof同理

  1. cat >> test.ini <<exit
  2. 1
  3. 1
  4. exit

11、切换用户

查看用户:

  1. 查看用户:
  2. #可以查看当前系统下所有存在的用户信息
  3. tail -1 /etc/passwd
  4. tail -1 /etc/shadow
  5. #查看用户名的id信息
  6. id 用户名

新建用户:

  1. useradd testuser 创建用户testuser
  2. passwd testuser 给已创建的用户testuser设置密码
  3. 说明:新创建的用户会在/home下创建一个用户目录testuser
  4. usermod --help 修改用户命令的帮助信息
  5. 交互式创建用户:adduser testuser
  6. 然后根据提示为用户testuser创建密码

删除用户:

  1. userdel testuser 删除用户testuser
  2. rm -rf testuser 删除用户testuser所在目录
  3. #一步到位,将用户和用户所在的主目录一并删除
  4. userdel -r testuser
  5. #另一种删除用户的命令是deluser,用法和userdel类似
  6. 其中删除用户的同时要删除用户的主目录,需要加上选项:–remove-home
  7. deluser username -remove-home

切换用户:

  1. su 用户名
  2. 说明:suswitch user的缩写,表示用户切换
  3. 从新的用户状态下输入“exit”即可退回到刚才的用户状态
  4. 另一种切换到root账户的命令是:
  5. sudo -s

用户组的添加和删除:

  1. groupadd testgroup 组的添加
  2. groupdel testgroup 组的删除
  3. 说明:组的增加和删除信息会在etc目录的group文件中体现出来。

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、查看日志文件头10行

head -n 10 example.txt

17、查看日志文件尾10行

tail -n 10 example.txt

18、查看日志自动显示新增内容

tail -f -n 200 exmaple.log 这个命令会自动显示新增内容,屏幕只显示200行新添加的内容的(可设置)。

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](http://file.tgz)
curl [http://file.tgz](http://file.tgz)

25、网络检测

ping www.just-ping.com

26、远程登录

ssh userName@ip

27、打印信息

echo $JAVA_HOME 打印java home环境变量的值

28、java 常用命令

java、 javac、 jps、jstat、 jmap、 jstackj

29、其他命令

svn git maven

30、查看系统版本

lsb_release -a
cat /etc/redhat-release
cat /etc/issue
cat /proc/version