一、服务器环境

  Centos 7.9

二、常用连接工具(免费)

  1、Finalshell

  2、MobaXterm

  3、Putty + WinSCP

三、Linux  系统目录结构

/bin :是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

/etc: 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/lib: 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt:是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个 ORACLE 数据库则就可以放到这个目录下。默认是空的。

/proc: 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的 ping 命令,使别人无法 ping 你的机器:

 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

/selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows的防火墙,但是这套机制比较复杂,这个目录就是存放 selinux 相关的文件的。

/srv:该目录存放一些服务启动之后需要提取的数据。

/sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

sysfs 文件系统集成了下面 3 种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/tmp:是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

/usr:是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

/usr/bin:系统用户使用的应用程序。

/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:内核源代码默认的放置目录。

/var:是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

四、Linux 与 Windows 默认目录对比

/usr:系统级的目录,可以理解为 C:/Windows/

/usr/lib:理解为 C:/Windows/System32。

/usr/local:用户级的程序目录,可以理解为 C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。

/opt:用户级的程序目录,可以理解为 D:/Software,opt 有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接 rm -rf 掉即可。在硬盘容量不够时,也可将/opt 单独挂载到其他磁盘上使用。

/home:是一般账户所在目录,可以理解为 C:/Users,软件的用户级配置文件就在该一般账户所对应的目录下

五、Linux 运维常用命令

1、 关机:shutdown

  shutdown -h now  # 立即关机

  halt

  poweroff

2、 重启:

  reboot     # 立即重启

  shutdown -r now  

3、 查看当前用户:

    whoami        # 显示当前用户

  

4、 查看所有用户和组:

  cat /etc/passwd   # 查看所有用户信息

  cat /etc/group    # 查看所有组信息

5、 切换用户:

  su              # 默认切换到 root

  su -            # 默认切换到 root

  su user01          # 临时切换到 user01 用户,环境变量不变

  su – user01           # 彻底切换到 user01 用户

ps:使用 su 命令时,有-和没有-是完全不同的,-选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的。初学者可以这样理解它们之间的区别,即有-选项,切换用户身份更彻底

6、 设置用户密码:passwd

  passwd     # 设置/修改当前用户密码

  passwd [用户名]    # 设置/修改指定用户密码,需 root 权限

  passwd -d [用户名]    # 删除用户密码,需 root 权限

  passwd -l [用户名]    # 停用账户,需 root 权限

  passwd -u [用户名]    # 启用账户,需 root 权限

7、 切换目录:cd [目录路径]

  cd /                     # 切换到根目录

  cd /usr/local         # 切换到/usr/local 目录

  cd ..                    # 切换到上一级目录 

8、 查看操作系统发行信息:

  cat /etc/centos-release          # 查看操作系统发行信息

9、 查看内核版本:

  uname -a                          # 查看内核版本

10、查看 CPU 及内存使用率:

  top           # 显示进程动态,类似 Windows 任务管理器

  #常用交互命令如下:

  c: 显示完整的命令

  i: 忽略闲置和僵死进程  

  M: 根据内存资源使用大小进行排序

  P: 根据 CPU 资源使用大小进行排序

  q: 退出 top 命令

  < : 向前翻页,或使用PageUp

  > : 向后翻页,或使用PageDown

11、查看磁盘空间:df

  df -h      # 查看磁盘空间使用情况

12、查看目录或文件大小:du

  du -h             # 查看当前目录下所有子目录的大小

  du -sh             # 统计当前目录占用空间总大小

  du -sh *           # 统计当前目录每个子目录及文件的大小

  du -sh * --time      # 统计大小并显示修改时间

  du -sh * | sort -rh   # 查看当前目录文件大小并按大小排序倒序输出

13、查看当前路径:pwd

  pwd    # 显示当前路径

14、查看 ip:ip/ifconfig

  ip a    # 显示网络信息

  ip addr

  ip address

  ifconfig   # 显示网络信息

15、查看软件进程:ps

  ps -ef | grep java    # 查看 java 相关的进程

16、查看端口占用情况:netstat

  netstat -ntlp | grep 8080    # 查看占用 8080 端口的进程

17、杀掉进程:kill -9 [PID 进程号]

  kill -9 35322    # 杀掉进程号 35322,-9 表示强制杀掉

18、防火墙配置:

  systemctl start firewalld     # 开启防火墙,需 root 验证

  systemctl stop firewalld     # 停止防火墙,需 root 验证

  systemctl restart firewalld    # 重启防火墙,需 root 验证

  systemctl status firewalld    # 查看防火墙状态

  firewall-cmd --state                    # 查看防火墙状态

  firewall-cmd --reload                    # 重载防火墙配置

  firewall-cmd --add-service=ftp               # 临时开放 ftp 服务

  firewall-cmd --add-service=ftp --permanent         # 永久开放 ftp 服务

  firewall-cmd --remove-service=ftp --permanent       # 永久移除 ftp 服务

  firewall-cmd --add-port=80/tcp               # 临时添加 80 端口

  firewall-cmd --add-port=80/tcp --permanent        # 永久添加 80 端口

  firewall-cmd --remove -port=80/tcp --permanent       # 永久移除 80 端口

  firewall-cmd --list-ports                   # 查看已经开放的端口

19、列出目录及文件名:ls或ll

  ls               # 列出目录及文件

  ls -a           # 列出目录及文件,包含隐藏文件

  ll            # 是ls -l 的别名,列出目录及文件的详细信息

20、搜索文件位置:find/locate/whereis/which

  1) find <指定目录> -option <指定条件> <指定动作>

    -  <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录

    - <指定条件>: 所要搜索的文件的特征

    - <指定动作>: 对搜索结果进行特定的处理

    - option:过滤方式,最常用的是-name,按名称查找

  ps:如果什么参数也不加,find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上

  find . -name my*            # 搜索当前目录下名字是 my 开头的目录或文件

  find / -name java            # 全盘搜索名字为 java 的目录或文件

  find /usr -name *.log -ls       # 搜索/usr 下的.log 文件,并显示详细信息

  find /usr/ -size +10M -ls      # 搜索/usr 下大于 10M 的文件

  2) locate

  locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux 系统自动创建这个数据库,并且每天自动更新一次,所以使用 locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用updatedb命令,手动更新数据库

  locate java           # 查看 java 相关的目录及文件

  locate /usr/my*.log       # 查看/usr 中 my 开头的 log 文件

      ps:CentOS7 默认没有安装该命令

  3) whereis

  whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man 说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息

  whereis nginx          # 查看 nginx 的位置

  4) which

  which 命令的作用是,在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

  which java            # 查看 java 命令的位置

21、创建目录:mkdir [目录名]

  mkdir test            # 创建 test 目录

  mkdir /usr/local/test      # 创建 test 目录

22、创建文件:touch [文件名]

  touch aaa.txt           # 创建aaa.txt文件

  touch /usr/local/aaa.txt    # 创建aaa.txt文件

23、复制文件或目录:cp -r [源目录名或源文件名] [目标目录名或目标文件名]

  cp aaa.txt aaa_bak.txt     # 复制aaa.txt文件并命名为 aaa_bak.txt

  cp aaa.txt /usr/local      # 复制aaa.txt 到/usr/local 目录下

  cp -r nginx /usr/local       # 将 nginx 目录复制到/usr/local 目录下

24、移动文件或目录:mv [源目录名或源文件名] [目标目录名或目标文件名]

  mv aaa.txt bbb.txt           # 相当于文件重命名

  mv aaa.txt /usr          # 将文件移动到/usr 目录下

  mv nginx /usr/local        # 将 nginx 目录移动到/usr/local 目录下

25、删除文件或目录:rm -rf [目录名或文件名]

  rm -rf aaa.txt          # 删除文件

  rm -rf /usr/test          # 删除目录

26、查看文件:cat/less/more/tail

  cat aaa.txt           # 全部显示

  less aaa.txt            # 分页显示(向前向后都可以翻)

  more aaa.txt           # 分页显示(只能向后翻)

  head aaa.txt              # 默认显示开头 10 行

  tail aaa.txt              # 默认显示最后 10 行

27、实时查看文件(常用于追踪日志信息):tail

  tail -fn 1000 aaa.txt     # 实时显示最后 1000 行

28、编辑文件:vivim

  vi aaa.txt            # vi 文本编辑器

  vim aaa.txt(推荐)        # vi 的升级版本,功能更多,语法高亮

  #常用命令

  i                  # 进入输入模式,此时可编辑文件

  [ESC]               # 退出输入模式

  [PageUp]              # 向上翻页

  [PageDown]            # 向下翻页

  / + n               # 查找字符串,如/java,按 n 可以查找下一个  

  gg                 # 移动到文件首行

  G                  # 移动到文档最后一行

  dd                  # 删除光标所在的一行

  10dd                   # 删除光标所在的向下 10 行

  dG                  # 删除光标所在到最后一行的所有数据

  ggdG                 # 删除所有数据

  yy                 # 复制光标所在的一行

  10yy                # 复制光标所在的向下 10 行

  yG                 # 复制光标所在到最后一行的所有数据

  ggyG               # 复制所有数据

  p                  # 粘贴,相当于 windows 中的 ctrl+v

  u                  # 撤销上次操作,相当于 windows 中的 ctrl+z

  :set nu              # 显示行号

  :q                # 退出编辑器

  :q!                # 强制退出编辑器,不保存已修改内容

  :w                 # 保存

  :wq               # 保存并退出

  :saveas aaa2.txt        # 另存为

29、修改文件所有者:chown

  chown root /usr/aaa.txt     # 把/usr/aaa.txt的所有者设置为 root

  chown -R mysql:mysql /logs   # 更改 logs 目录的所有者和组

30、修改文件读写权限:chmod

  只有文件所有者和root 用户可以修改文件或目录的权限

  可以使用符号模式和绝对模式(八进制数字模式)指定文件的权限

  Linux 的文件调用权限分为三级 : User(文件所有者)、Group(用户组)、Other Users(其它用户)

  1) 符号模式

  chmod ugo+r aaa.txt        # 把aaa.txt设置为所有人可读

  chmod a+rwx aaa.txt         # 最大权限,a 代表 all,等同于 ugo

  2) 绝对模式(八进制数字模式)

  chmod 444 aaa.txt        # 把aaa.txt设置为所有人可读

  chmod 754 aaa.txt        # 常用权限

  chmod 777 aaa.txt        # 最大权限

31、系统日志查看:journalctl

  journalctl          # 默认显示所有的信息(从旧到新)

  journalctl -r           # -r 参数表示反序输出(从新到旧)

  journalctl -f           # -f 实时输出最新日志

  journalctl -n 50       # -n 指定输出 50 行

  journalctl -p 3         # -p 过滤日志级别

  # 0: emer         系统的严重问题日志

  # 1: alert          系统中立即要更改的信息

  # 2: crit          严重级别会导致系统软件不能工作

  # 3: err          程序报错

  # 4: warning         程序警告

  # 5: notice         重要信息的普通日志

  # 6: info          普通信息

  # 7: debug        程序排错信息

  #显示指定时间段内发生的事件日志,通过since和until 参数来实现,其中日期的格式是“YYYY-MM-DD HH:MM:SS”

  journalctl --since "2022-02-25 10:00:00"        --until "2022-02-25 12:00:00"

  journalctl -u nginx.service              # -u 查看某些服务的日志

  journalctl _UID=123                   # 查看某个用户的日志,“id [用户]”查看 uid

  journalctl -k                      # 查看内核日志

  journalctl -b                       # 查看系统启动日志

  journalctl --disk-usage                # 查看日志占用空间

  journalctl --vacuum-size=1G              # 限制 journal 占用磁盘空间大小

  journalctl --vacuum-time=1months           # 限制 journal 日志保存时间

六、Java 环境

  1、查看 java 版本

  java -version      # 查看版本

  2、查看路径

  whereis java      # 查看路径

  3、配置环境变量

  vim /etc/profile    # 配置环境变量

   #/etc/profile 最下方添加

   export JAVA_HOME=[java 安装路径]

   export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar

   export PATH=$PATH:$JAVA_HOME/bin

 

   source /etc/profile    # 使配置立刻生效

七、Tomcat 环境

  1、 设置端口号及字符编码

  vim /usr/local/soft/apache-tomcat-7.0.99-8080/conf/server.xml

  2、 启动/停止

  systemctl status tomcat8080     # 运行状态

  systemctl start tomcat8080      # 开启

  systemctl stop tomcat8080       # 停止

  systemctl restart tomcat8080    # 重启

  3、 应用部署

  cd /usr/local/soft/apache-tomcat-7.0.99-8080/webapps/

  4、 查看运行日志

  cd /usr/local/soft/apache-tomcat-7.0.99-8080/logs     # 进入 logs 目录

  tail -f catalina.out                      # 实时查看运行日志

八、Nginx 环境

  1、 查看 nginx 版本

  nginx -v      # 查看版本

  2、 查看路径

  whereis nginx  # 查看路径

  3、 修改 nginx 配置文件

  vim /usr/local/soft/nginx/conf/nginx.conf

  4、 启动/停止

  systemctl status nginx        # 运行状态

  systemctl start nginx          # 开启

  systemctl stop nginx           # 停止

  systemctl restart nginx        # 重启

  5、 查看运行日志

  cd /usr/local/soft/nginx/logs   # 进入 logs 目录

  tail -f access.log          # 实时查看运行日志

九、Mysql 环境

  1、 查看 mysql 版本

  mysql -V               # 查看版本,大写

  SQL> select version();        # 查看版本

  2、 查看路径

  whereis mysql         # 查看路径

  3、 配置文件

  vim /etc/my.cnf        # 配置文件

  4、 启动/停止

  systemctl status mysql          # 运行状态

  systemctl start mysql         # 启动

  systemctl stop mysql          # 停止

  systemctl restart mysql         # 重启

  

十、Redis 环境

  1、 查看 redis 版本

  redis-server -v          # 查看版本

  redis-cli -v             # 查看版本

  2、 修改 redis 配置文件

  vim /usr/local/soft/redis/bin/redis.conf    

  bind 127.0.0.1              # 只有指定的网段才能远程访问这个 redis

  protected-mode no             # 默认是 yes 的, 改为 no 表示允许远程访问

  daemonize yes                # 表明需要在后台运行

  requirepass XXXX              # 设置连接密码,保障远程访问的安全性

  3、 启动/停止

  systemctl status redis           # 查看服务当前状态

  systemctl start redis            # 启动 redis 服务

  systemctl stop redis             # 停止 redis 服务

  systemctl restart redis           # 重新启动服务

  4、 常用命令

  redis-cli                   # 连接 redis

  redis-cli -a XXXX              # 使用密码连接

  select [0~15]                  # 切换数据库

  keys *                      # 查看所有 key

  keys aaa*                   # 模糊查询 key

  set aaa 123                  # 新增/修改 aaa 的值

  get aaa                     # 查询 aaa 的值

  del aaa                     # 删除 aaa 的值

  type aaa                     # 查看返回值类型

  dbsize                     # 查看当前数据的 key 的数目

  expire aaa 10                  # 设置 aaa 的过期时间为 10 秒

  ttl aaa                    # 查看 aaa 的剩余存活时间

  flushdb                     # 删除当前数据库的所有 key

  flashall                    # 删除所有数据库的所有 key
 

Linux运维-常用操作-培训用例的更多相关文章

  1. Linux运维常用的几个命令介绍【转】

    Linux运维常用的几个命令介绍 1. 查看系统内核版本​ [root@funsion geekxa]# cat /etc/issue CentOS release 6.5 (Final) Kerne ...

  2. Linux运维常用150个命令

    Linux运维常用150个命令 转载自:www.cnblogs.com/bananaaa/p/7774467.html 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更 ...

  3. 盘点Linux运维常用工具(一)-web篇之httpd

    #前言:想把自己学的各种服务进行分类归档起来,于是就写了盘点Linux运维常用工具,Linux方面使用到的web应用服务有httpd(apache).nginx.tomcat.lighttpd,先了解 ...

  4. 8. Ceph 基础篇 - 运维常用操作

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485300&idx=1&sn=aacff9f7 ...

  5. Linux运维常用命令详解

    1.ls 文件属性:  -:普通文件  d:目录文件  b:块设备  c:字符设备文件  l:符号连接文件  p:命令管道  s:套接字文件  文件权限: 9位数字,每3位一组  文件硬链接次数  文 ...

  6. linux运维常用命令及知识

    1.查找当前目录下所有以.tar结尾的文件然后移动到指定目录: find . -name “*.tar” -exec mv {} ./backup/ ; 查找当前目录30天以前大于100M的LOG文件 ...

  7. Linux运维常用的命令详解

    1. 查看系统内核版本 [root@funsion geekxa]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m 显示了系 ...

  8. Linux运维常用脚本整理

    .查找当前目录下占用为0字节的文件并删除 find ./ -type f -size -exec rm -rf {}\;    #此命令不要用于对根目录0字节文件的操作 .将系统进程按内存占用大小排列 ...

  9. Linux 运维常用命令

    参考: https://segmentfault.com/a/1190000009745139 http://blog.51cto.com/xuqq999/774714 .查看有多少个IP访问: aw ...

随机推荐

  1. [ css ] 实现漂亮的输入框动画(借鉴自panjiachen的后台管理项目)

    效果预览 HTML <div class="l-custom-input"> <input size="large" id="l-i ...

  2. nuxt写路由接口

    //在server/interface/city.js import Router from 'koa-router'; const router = new Router({ prefix:'/ci ...

  3. [转]axios请求超时,设置重新请求的完美解决方法

    自从使用Vue2之后,就使用官方推荐的axios的插件来调用API,在使用过程中,如果服务器或者网络不稳定掉包了, 你们该如何处理呢? 下面我给你们分享一下我的经历. 具体原因 最近公司在做一个项目, ...

  4. vue中另一种路由写法

    一个项目中一级菜单是固定的,二级及其以下的菜单是动态的,直接根据文件夹结构写路由 import Vue from 'vue' import Router from 'vue-router' impor ...

  5. Vue项目中使用websocket

    <template> <div class="test"> </div> </template> <script> ex ...

  6. BugKu CTF(杂项篇MISC)-贝斯手

    打开是以下内容 先看一下给了哪些提示 1.介绍 没了?不,拉到最底下还有 2.女神剧照 密码我4不会告诉你的,除非你知道我的女神是哪一年出生的(细品) 大致已经明白了,四位数密码,出生年份 文件是以下 ...

  7. 一站式搭建 GitHub Pages 博客 (一)

    本文将详细讲解如何快速搭建 GitHub Pages 博客页面 关于博客主题,博客信息更改,上传文章等将会在 一站式搭建 GitHub Pages 博客 (二) 中进行详细讲解 准备阶段 注册 Git ...

  8. 【golang学习记录】环境搭建

    [golang学习记录]环境搭建 一. 概述 本文是[golang学习记录]系列文章的第一篇,安装Go语言及搭建Go语言开发环境,接下来将详细记录自己学习 go 语言的过程,一方面是为了巩固自己学到的 ...

  9. 【解决了一个小问题】golang中引用一个路径较长的库,导致goland中出现"module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2"

    在项目中的go.mod文件中有这样一句: require ( github.com/xxx-devops/xx1/sdk/go v2.2.3 ) 项目的编译没有问题,但是goland中出现如下提示: ...

  10. 一个BPMN流程示例带你认识项目中流程的生命周期

    摘要:本文详细说明了在工作流Activiti框架中的BPMN流程定义整个运行的生命周期. 本文分享自华为云社区<本文详细说明了在工作流Activiti框架中的BPMN流程定义整个运行的生命周期& ...