简单系统命令

  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. 1inode中保存的是文件的元数据
  9. 2ls命令查看的都是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,控制不好权限容易导致系统崩溃、数据丢失等问题。
权限含义

权限字母 含义 对文件 代表命令 对文件夹 代表命令
查看文件内容和复制文件 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 远程linuxip或者映射域名

免密登录

  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安装