简单系统命令

  1. # 查看ip地址
  2. ip a
  3. ip addr
  4. # ping网络(测试网络连通)
  5. ip 目标机器的ip
  6. # 查看系统时间
  7. date
  8. # 注销
  9. logout
  10. # 关机
  11. shutdown now
  12. # 重启
  13. reboot
  14. # 清屏
  15. clear

Linux文件系统

Linux 含义 windows
/bin 所有用户可用的基本命令存放的位置 windows没有固定的命令存放目录
/sbin
需要管理员权限才能使用的命令
/boot
linux系统启动的时候需要加载和使用的文件
/dev 外设连接linux后,对应的文件存放的位置 类似Windows中的U盘,光盘的符号文件。
/etc 存放系统或者安装的程序的配置文件,注册服务等 类似windows中的注册表,
/home 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 类似windows中的”我的文档”,每个用户有自己的目录。
/root root账户的家目录,仅供root账户使用 类似windows中的Administrator账户的”我的文档”
/lib
linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar
/usr 很多系统软件的默认安装路径 类似windows中的C盘下的Program Files目录。
/var

| 系统和程序运行产生的日志文件和缓存文件放在这里 | |

文件管理命令

查看文件列表

  1. ls [-参数1参数2] [目标文件夹]
  2. # 查看当前目录下的文件列表
  3. ls
  4. # 查看指定目录下的文件
  5. ls /
  6. # 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
  7. ls -l
  8. # 查看隐藏文件
  9. ls -a
  10. # 参数并用
  11. ls -la

切换目录

  1. cd 目标文件夹
  2. # 绝对路径切换
  3. cd 绝对路径
  4. # 绝对路径切换
  5. cd 相对路径
  6. # 例子:切换到/etc/sysconfig/networks-scripts 目录下

查看当前命令所在的目录

  1. [root@VM-16-14-centos file]# pwd
  2. /home/task/file
  3. # 特殊目录符号
  4. ~ 当前用户的home目录
  5. . 当前目录
  6. .. 上一级目录

新建文件夹及文件

  1. # 在当前位置新建文件夹
  2. mkdir 文件夹名
  3. # 在指定目录位置,创建文件夹,并创建父文件夹
  4. mkdir -p /a/b/文件夹名
  5. # 在当前目录下新建文件
  6. touch 文件名

删除文件

  1. # 删除文件
  2. rm 文件
  3. # 删除文件夹
  4. rm -r 文件夹
  5. # 强制删除不询问
  6. rm -rf 文件

拷贝文件

  1. # 拷贝文件
  2. cp 原文件 新文件
  3. # 拷贝文件夹
  4. cp -r 源文件夹 新文件夹

移动文件或修改文件名称

  1. # 移动源文件到目标文件夹中
  2. mv 文件 文件夹
  3. # 修改文件A的名字为文件B
  4. mv 文件A 文件B

获取文件的md5指纹(数字签名)

  1. md5sum 文件名
  2. # 简介
  3. 1. 数字签名,又称数字指纹
  4. 2. 可以验证文件是否被修改
  5. 3. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)

文本内容查看命令

  1. # 查看文件中的全部信息(适合查看小文档)
  2. cat 文件名
  3. # 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
  4. less 文件名
  5. # 浏览模式快捷键
  6. ↑ #上一行
  7. ↓ #下一行
  8. G #第一页
  9. g #最后一页
  10. 空格 #下一页
  11. /关键词 #搜索关键词
  12. # 退出浏览模式,回到Linux命令行模式
  13. q #退出
  14. # 实时滚动显示文件的最后10行信息(默认10行)
  15. tail -f 文件名
  16. # 显示文件的最后20行信息
  17. tail -n 20 文件名
  18. tail -n -20 文件名
  19. # 显示文件信息从第20行至文件末尾
  20. tail -n +20 文件名

文件查找

文件名查找

  1. # 语法
  2. find 搜索路径 -name "文件名关键词"
  3. # 例子
  4. find / -name "passwd"
  5. find / -name "ifcfg-*"

文件内容查找

  1. # 语法
  2. grep -参数 要查找的目录范围
  3. # 参数
  4. -n 显示查找结果所在行号
  5. -R 递归查找目录下的所有文件
  6. # 例子
  7. grep aries /etc
  8. grep aries /etc/passwd

文件链接

  1. # 文件名
  2. 该文件的名字
  3. # inode
  4. 该文件的元数据
  5. # datablock
  6. 该文件真正保存的数据
  7. 注意:
  8. 1、inode中保存的是文件的元数据
  9. 2、ls命令查看的都是linux的元数据信息
  10. 3、数据块中才是文件的真正数据

硬链接

  1. ln 源文件 硬链接文件

软链接

  1. ln -s 目标文件或文件夹 软连接名字

系统管理

  1. # 静态查看系统进程
  2. ps -aux
  3. # 实时查看系统进程
  4. top
  5. # 快捷键
  6. ↑ 下翻
  7. ↓ 上翻
  8. q 退出
  9. # 关闭进程
  10. kill 进程id
  11. # 强制关闭进程(谨慎使用)
  12. kill -9 进程id

输出

  1. # 将命令1的执行结果,输出到后面的文件中。
  2. `覆盖写入`
  3. 命令1 > 文件
  4. # 例子
  5. date > date.log
  6. # 将命令1的执行结果,输出到后面的文件中。
  7. `追加写入`
  8. 命令1 >> 文件
  9. # 例子
  10. date >> date.log

管道

  1. # 语法,将命令1的输出结果,作为命令2的输入
  2. 命令1 | 命令2
  3. # 例子
  4. 查找aries用户:cat /etc/passwd | grep -n “baizhi”
  5. 查找aries组:cat /etc/group | grep -n “baizhi”
  6. 查找sshd进程:ps -aux | grep sshd

文件编辑

系统权限

用户组

image.png
指令

  1. 1. 创建组
  2. `groupadd 组名`
  3. 2. 删除组
  4. `groupdel 组名`
  5. 3. 查找系统中的组
  6. `cat /etc/group | grep -n “组名”`
  7. 说明:系统每个组信息都会被存放在/etc/group的文件中

用户

  1. 1. 创建用户
  2. `useradd -g 组名 用户名`
  3. 2. 设置密码
  4. `passwd 用户名`
  5. 3. 查找系统账户
  6. 说明:系统每个用户信息保存在`/etc/passwd`文件中
  7. 4. 切换用户
  8. `su 用户名`
  9. 5. 删除用户
  10. `userdel -r 用户名`

权限

问题
linux系统未来可能有程序员、用户、数据库管理员、项目经理等各种角色各种级别人使用,甚至还有身份不明的人链接到linux,控制不好权限容易导致系统崩溃、数据丢失等问题。
权限含义

权限字母 含义 对文件 代表命令 对文件夹 代表命令
R® 读 查看文件内容和复制文件 more cat less cp head tail 查看文件夹下的文件 ls
W(w) 写 编辑文件 vi 在文件夹内创建和删除文件 rm touch
X(x) X(x) X(x) X(x) X(x) X(x)

权限访问控制列表(ACL access controll list)
image.png
指令

  1. # 查看权限
  2. ls -la 文件
  3. ll 文件
  4. # 设置文件所有者
  5. 语法:chown [-R] user名:group名 文件名
  6. 参数:-R 如果是文件夹,需要使用这个参数,可以将文件夹及其内部所有文件的所有者和组全部修改
  7. 注意:命令权限需要root
  8. ## 修改文件所有者
  9. chown 用户名 文件名
  10. ## 修改文件所属组
  11. chown :组名 文件名
  12. ## 修改文件所有者和所属组
  13. chown 用户名:组名 文件名
  14. ## 修改文件夹的所有者和所属组
  15. chown [-R] 用户名:组名 文件夹
  16. # 权限设置1
  17. 语法:chmod u±rwx,g±rwx,o±rwx 文件名
  18. 运算符:
  19. - 删除权限
  20. + 添加权限
  21. = 赋值权限
  22. ## 给文件的所有者添加执行权限
  23. chmod u+x 文件名
  24. ## 给文件的其他人删除所有权限
  25. chmod o-rwx 文件名
  26. ## 给文件的所属组设置读写权限
  27. chmod g=wx 文件名
  28. # 权限设置2
  29. # 文件的每个归属方的权限的值使用rwx之和计算出来的。
  30. # 语法
  31. `chmod [-R] nnn 文件`
  32. -R 递归设置文件夹内所有文件
  33. # 设置文件的权限为(所有者可读可写可执行,所属组可读可写,其他人可读)
  34. chmod 764 文件名

image.png

系统软件管理

压缩解压缩

  1. 压缩语法:tar -zcvf 压缩后文件名 被压缩文件
  2. 解压缩语法 tar -zxvf 压缩文件名 -C 解压后文件所在目录

参数一

参数 描述
-z 操作tar.gz文件需要使用
-x 解压缩
-c 压缩
-v 显示压缩或者解压缩的执行过程信息
-f 要处理的文件file,必须放在最后

参数二
-C 指定解压后的文件存放的位置

rpm软件

  1. 1. 安装rpm软件
  2. 语法:`rpm -ivh xxx.rpm`
  3. 2. 查看系统中是否已安装的过该rpm软件
  4. 语法:`rpm -qa 软件名`
  5. 3. 卸载rpm软件
  6. 语法:`rpm -e 软件名`
  7. 4. 例子:安装tree工具
  8. 作用:查看某个目录下的文件信息
  9. # 以树状结构查看2层文件信息
  10. tree -L 2 要查看的路径

yum

yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。

  1. ## 列出所有可以安装的软件包
  2. yum list
  3. ## 安装软件
  4. yum install -y 软件名
  5. ## 卸载软件
  6. yum remove 软件名
  7. ## 查找软件包
  8. yum search all 软件名

Linux服务

  1. # 例如:sshd network firewalld 等
  2. # 服务器管理命令
  3. systemctl status 服务名
  4. # 启动服务
  5. systemctl start 服务名
  6. # 重启服务
  7. systemctl restart 服务名
  8. # 停止服务
  9. systemctl stop 服务名
  10. # 禁止服务随linux启动。
  11. systemctl disable 服务名
  12. # 设置服务随linux启动。
  13. systemctl enable 服务名

ip设置

服务名:network

  1. [root@centos7 dirnew]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
  2. ----------------网卡对应的文件内容---------------------
  3. TYPE="Ethernet"
  4. PROXY_METHOD="none"
  5. BROWSER_ONLY="no"
  6. BOOTPROTO="none"
  7. DEFROUTE="yes"
  8. IPV4_FAILURE_FATAL="no"
  9. IPV6INIT="yes"
  10. IPV6_AUTOCONF="yes"
  11. IPV6_DEFROUTE="yes"
  12. IPV6_FAILURE_FATAL="no"
  13. IPV6_ADDR_GEN_MODE="stable-privacy"
  14. NAME="ens33"
  15. UUID="0bd5d8a5-fe1b-42de-82bd-bfa7d2984b95"
  16. DEVICE="ens33"
  17. ONBOOT="yes"
  18. IPADDR="192.168.199.8" # 修改这里的ip地址即可
  19. PREFIX="24"
  20. GATEWAY="192.168.199.2"
  21. DNS1="192.168.199.2"
  22. DNS2="8.8.8.8"
  23. IPV6_PRIVACY="no"
  24. [root@centos7 dirnew]# systemctl restart network #重启网卡服务

防火墙

服务名:firewalld

  1. # 开启防火墙
  2. systemctl stop 服务名
  3. # 临时关闭防火墙
  4. systemctl stop firewalld
  5. # 直接停止防火墙开机启动
  6. systemctl disable firewalld

主机名

  1. # 查看主机名
  2. hostname
  3. # 设置主机名
  4. hostnamectl set-hostname 主机名

ip映射

  1. [root@centos7 ~]# vim /etc/hosts
  2. --------------下面是文件------------------
  3. 192.168.123.123 centos7

SSH

  1. # 远程登录linux
  2. ssh 远程linux的ip或者映射域名

免密登录

  1. # 简介
  2. ssh登录远程linux,免去输入密码的麻烦
  3. # 生成公钥和私钥
  4. [root@centos7 ~]# ssh-keygen
  5. ------------执行结果-----------
  6. [root@centos7 ~]# tree .ssh
  7. .ssh
  8. ├── id_rsa # 私钥
  9. ├── id_rsa.pub # 公钥
  10. └── known_hosts
  11. # 发送公钥
  12. `保存公钥的文件为/root/.ssh/authorized_keys`
  13. [root@centos7 .ssh]# cat id_rsa.pub > authorized_keys
  14. # 发送公钥
  15. [root@centos7 .ssh]# ssh-copy-id 目标主机的ip

远程拷贝

  1. scp 本地的文件 root@远程linuxip:/远程linux的文件路径
  2. scp -r 本地的目录 root@远程linuxip:/远程linux的文件路径

必要软件安装

vim(vi编辑器增强版)
vim 文件
wget(下载器)
wget url
tree(目录树状显示)

  1. # 以tree结构,递归显示当前文件下所有文件
  2. tree
  3. # 显示目标文件夹下的文件
  4. tree 目标目录

psmisc(高级进程管理工具)

  1. # 以tree形式显示系统目前进程
  2. pstree
  3. # 杀死进程
  4. killall 进程名
  5. # 显示该文件被哪个进程使用
  6. fuser /目标文件

jdk安装