返回介绍

Linux 常用命令

发布于 2024-01-20 00:16:02 字数 13694 浏览 0 评论 0 收藏 0

  • init 0 关机
  • init 6 重启
  • lsls -lll 列出出当前目录下的文件
  • cd 切换目录
  • pwd 查看当前路径
  • ctrl+c 中断当前程序
  • ctrl+l / (clear) 清屏
  • ifconfig/ipconfig 查看网卡信息
  • ping 127.0.0.1 看网络是否通畅
  • Linux 创建用户修改密码
    • 添加用户 useradd zhangsan
    • 设置密码 passwd zhangsan
    • 删除用户 userdel -rf zhangsan -r :递归的删除目录下面文件以及子目录下文件。
  • 文件管理
    • 创建文件 touch file
    • 删除文件 rm -rf file
      • -r :递归的删除目录下面文件以及子目录下文件。
        • -f :强制删除,忽略不存在的文件,从不给出提示
    • 修改文件名 mv file1 file11
    • 查看文件内容 cat file1
    • 复制文件 cp file2 file22
    • 移动文件 mv file1 file11
    • 编辑文件 vi file1
    • 批量创建文件 touch file{1..10} rm -rf file{1..10}
    • 查看文件前 3 行 cat file1 | head -3
    • 查看文件后 3 行 cat file1 | tail -3
    • liunx 服务器上面查找文件
      • find 查找文件
        • find / -name httpd.conf 查找当前目录下的文件名为 httpd.conf 的文件
        • find 目录 -name 文件名
    • 查找文件里面内容找到 httpd.conf 里面有 listen
      • cat httpd.conf | grep listen
      • cat httpd.conf | grep -ignore listen / cat httpd.conf | grep -i listen 忽略大小写
    • 查找文件里面内容 vi 搜索
      • vi httpd.conf
      • 输入 /Listen 搜索 Listen N 下一个
  • Linux 目录管理
    • 创建目录 mkdir dir1 dir2 dir3
    • 删除目录 rm -rf dir1 dir2
      • -r :递归的删除目录下面文件以及子目录下文件。
        • -f :强制删除,忽略不存在的文件,从不给出提示
        • rm -rf dir*dir 开头的所有文件删除
    • 重命名目录或移动目录 mv dir1 dir11
    • 查看目录 ls / ll
    • 递归创建目录 mkdir -p a/b/c/d/e/f/g 创建多层级目录
    • 递归查看目录 tree a tree 命令不存在的话需要安装 yum install tree -y
    • 复制目录 cp -rf wwwroot/ mywwwroot/
  • Linux 打包压缩别名管理
    • zip 压缩包
      • 安装 zip 减压软件 yum install -y unzip zip
      • zip 压缩包 zip -r public.zip public -r 递归 表示将指定的目录下的所有子目录以及文件一起处理
      • 解压 unzip public.zip unzip public.zip -d dir
      • 查看 unzip -l public.zip
    • gz 压缩包: (源代码压缩)
      • Linux 下最常用的打包程序就是 tar 了,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以.tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法
      • 制作 gz 包 tar czvf public.tar.gz public
      • 解压 gz 包 tar xzvf public.tar.gz
      • 查看 gz 包 tar tf public.tar.gz
    • tar 包
      • tar cvf wwwroot.tar wwwroot 仅打包,不压缩!
      • 解压 tar 包 tar xvf wwwroot.tar
    • xz 压缩包
      • 对于 xz 这个压缩相信很多人陌生,但 xz 是绝大数 linux 默认就带的一个压缩工具,xz 格式比 7z 还要小。
      • 制作
        - `tar  cvf xxx.tar xxx`  这样创建 xxx.tar 文件先,- `xz  xxx.tar`    将 xxx.tar 压缩成为 xxx.tar.xz     删除原来的 tar 包- `xz  -k xxx.tar`   将 xxx.tar 压缩成为 xxx.tar.xz    保留原来的 tar 包
      • 解压
        - `xz   -d  ***.tar.xz`   先解压 xz   删除原来的 xz 包- `xz  -dk  ***.tar.xz`   先解压 xz  保留原来的 xz 包- `tar  -xvf  ***.tar` 再解压 tar
        • 查看 xz -l ***.tar.xz 先解压 xz
    • 别名管理
      • 添加别名
        - `alias chttp='cat /etc/httpd/conf/httpd.conf'`  - `chttp`
      • 删除别名 unalias chttp
      • 查看别名 alias
  • 用户管理、用户权限管理
    • 用户管理
      • 添加用户 useradd lisi
      • 设置密码 passwd lisi
      • 删除用户
        • userdel -r lisi
        • -r :递归的删除目录下面文件以及子目录下文件。
          - 备注:删除用户的时候用户组被删除
      • 查看用户 id user
      • 把用户加入组
        • gpasswd -a testuser root
        • 把用户 testuser 加入到 root 组,加入组后 testuser 获取到 user 组及 root 组所有权限
      • 把用户移出租 gpasswd -d testuser root
    • 用户权限管理
      • drwxr-xr-x. 2 root root 6 4 月 11 2022 mnt
        • rwx 当前用户对 mnt 有读写执行权限 u
        • r-x 当前用户的组对 mnt 文件有读和执行 g
        • r-x 其他用户对 mnt 也具有读和执行 o
      • 权限:
        r
        w
        x 执行
      • 用户:
        • 所有者 user u
        • 所属组 group g
        • 其他用户 other o
        • 所有用户 all a u+g+o=a (表示所有人)
      • 目录的 rwx
        • r 查看目录里面的文件(4)
        • w 在目录里创建或删除文件(2)
        • x 切换进目录(1)
      • 文件的 rwx
        • r 查看文件内容
        • w 在文件里写内容
        • x 执行该文件(文件不是普通文件,是程序或脚本)
      • chmod 权限分配
        • + 增加权限 -删除权限
        • chmod u+x my.sh 给当前用户分配执行 my.sh 的权限
        • chmod o+r,o+w file.txt 给其他用户分配对 file.txt 的读写权限
        • chmod o+r,o+w,o+x mnt/ 给所有其他用户分配对 mnt 目录的进入、读取、写入权限
        • chmod -R o+r,o+w,o+x mnt/ 修改目录下的所有文件的权限为可读、可修改、可执行
        • chmod 755 file
        • chmod -R 777 wwwroot/ 修改目录下的所有文件的权限为可读、可修改、可执行
  • rpm 软件安装卸载
    • rpm 命令安装卸载查找 rpm 包
      • 挂载光盘
        • mount dev/cdrom /media 挂载
        • df 查看光盘是否挂载
          - 卸载`umount /media`
      • rpm 安装
        - `rpm -ivh` `rpm`软件包
        • rpm 卸载软件
          • rpm -e net-tools net-tools 表示要卸载的软件包
        • 查看 rpm 软件包的安装位置 / 软件包是否安装 rpm -ql net-tools
    • Yum 安装 rpm 卸载 rpm 查看 rpm 包
      • yum 安装 rpm 包
        - `yum install -y net-tools`        包括 `netstat` `ifconfig`等命令- `yum install -y unzip zip`         `zip`压缩减压- `yum install -y mlocate`         `updatedb`- `yum install -y wget`          下载文件包- `yum -y install psmisc`           `pstree | grep httpd`   查看进程  `pstree -p`   显示进程以及子进程
        • yum 卸载 rpm
          • yum -y remove wget
        • yum 搜索 npm
          • yum search 名称
        • yum 查看 rpm
          • yum list
          • yum list | grep httpd
          • yum list updates 列出所有可更新的软件包
          • yum list installed 列出所有已安装的软件包
        • yum 显示 rpm 包信息
          • yum info package1
          • yum info httpd
          • yum info zip
          • yum info unzip
      • yum 安装 Apache
        - `yum -y install httpd`  `service httpd start`   安装启动`apache`- 启动`apache`- 关闭防火墙  `systemctl stop firewalld`
        • yum 的主配置文件 etc/yum.conf
        • yum 的仓库配置文件 /etc/yum.repo.d/*.repo
      • Yum 安装 Nginx:
        • 安装 nginx 源
          • sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
        • 查看 Nginx 源是否配置成功
          • 通过 yum search nginx 看看是否已经添加源成功。如果成功则执行下列命令安装 Nginx。
          • 或者 npm info nginx 也可以看看 nginx 源是否添加成功
        • 安装 Nginx sudo yum install -y nginx
        • 启动 Nginx 并设置开机自动运行
          • sudo systemctl start nginx.service
          • sudo systemctl enable nginx.service
  • 源代码包的安装
    • 先安装源代码编译的软件 gccmakeopenssl 如下:
    • yum install -y gcc make gcc-c++ openssl-devel
    • 检查系统中是否已经安装 gcc: rpm -qa | grep gcc / rpm -ql gcc
    • 编译安装源代码包
      - 生成编译配置文件(`Makefile`)- 开始编译(`make`)- 开始安装(`make install`)
      • 安装 httpd-2.2.9.tar.gz 源代码:
        • 减压并 cd 到对应目录
        • ./configure --prefix=/usr/local/nodejs 安装路径设置为 /usr/local/apache
        • make / make -j4
        • make install
    • 删除源代码包
      - 结束当前源代码进程- 删除源代码  - 如:结束进程    - `pstree|grep httpd`    - `pkill httpd`  - 删除源代码    - `cd  /usr/local/`    - 直接删除源代码 `rm -rf apache/`
      • linux 下源代码安装 nodejs:
        • 下载 nodejs 源码包
        • 减压到 usr/local/nodejs 目录
        • ./configure
        • make / make -j4
        • make install
  • Linux 内存、cpu、进程、端口、硬盘管理
    • top 命令 查看内存 cpu 进程 以及服务器负载
      • top 命令的第一行:
        - `top` - 15:31:47 up  9:30,  3 users,  load average: 0.00, 0.02, 0.05- 依次对应:系统当前时间 up 系统到目前为止 i 运行的时间, 当前登陆系统的用户数量, load average 后面的三个数字分别表示距离现在一分钟,五分钟,十五分钟的负载情况。
        • top 命令的第二行:
          • Tasks: 133 total, 1 running, 132 sleeping, 0 stopped, 0 zombie
          • 依次对应:tasks 表示任务(进程),133 total 则表示现在有 133 个进程,其中处于运行中的有 1 个,132 个在休眠(挂起),stopped 状态即停止的进程数为 0,zombie 状态即僵尸的进程数为 0 个。
        • top 命令的第三行,cpu 状态:
          • %Cpu(s): 0.2 us, 0.4 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
          • 只看空闲就可以了:cpu 空闲率为 99.3%
        • top 命令的第四行,内存状态:
          • KiB Mem : 2897496 total, 1995628 free, 191852 used, 710016 buff/cache
          • 总内存:2.76g 空闲:1995628/1024/1024=1.9g 已经使用 0.18g 缓存区内存 0.67g
          • 缓冲区是从主内存中特地预留出的内存,用来存放特定的一些信息,例如从磁盘中取得的文件表,程序正在读取的内容等等
      • 看当前登录的账户 who、查看最新操作电脑的用户 last
        • who 命令: 显示当前正在系统中的所有用户名字,使用终端设备号,注册时间。
        • whoami : 显示出当前终端上使用的用户。
        • last : last 作用是显示近期用户或终端的登录情况
      • 查看进程关闭进程
      • 查看进程
          - `pstree`    查看进程树  - `pstree -ap`   显示所有信息  - `pstree | grep httpd`  - `pstree -ap | grep httpd`  - `ps -au`  - `ps -au |grep httpd`  - `ps -aux`- `ps` 中`aux`的含义:  - 显示现行终端机下的所有程序,包括其他用户的程序(`a`)  - 以用户为主的格式来显示程序状况。 (`x`)  - 显示所有程序,不以终端机来区分(`u`)
        • 关闭进程
          • pkill httpd pkill 进程的名字
          • kill 2245 kill 进程号
          • kill -9 1234 kill -9 进程号 强制杀死
          • kill:执行 kill`命令,系统会发送一个 SIGTERM 信号给对应的程序。当程序接收到该 signal 信号后,将会发生以下事情:
            程序立刻停止
          • 当程序释放相应资源后再停止
          • 程序可能仍然继续运行
          • 大部分程序接收到 SIGTERM 信号后,会先释放自己的资源,然后再停止。但是也有程序可能接收信号后,做一些其他的事情(如果程序正在等待 IO,可能就不会立马做出响应,我在使用 wkhtmltopdf 转 pdf 的项目中遇到这现象),也就是说,SIGTERM 多半是会被阻塞的。
          • kill -9 : kill -9 命令,系统给对应程序发送的信号是 SIGKILL,即 exitexit 信号不会被系统阻塞,所以 kill -9 能顺利杀掉进程。
            • 查看端口 netstat -tunpl |grep httpd
    • 查看硬盘信息:
      - `df`命令作用是列出文件系统的整体磁盘空间使用情况。可以用来查看磁盘已被使用多少空间和还剩余多少空间。- `df -h`  以人们易读的方式显示,总共多少 g 用了多少 g- `df /home`   查看该文件夹所在磁盘的使用情况
  • Linux systemctl 管理服务
    • yum 安装 httpd
      • yum install -y httpd
      • systemctl start httpd
    • systemctl 管理服务
      • 启动服务: systemctl start httpd
      • 关闭服务: systemctl stop httpd
      • 重启服务: systemctl restart httpd
      • 查看一个服务的状态: systemctl status httpd
      • 查看一个服务是否在运行: systemctl is-active httpd
      • 查看当前已经运行的服务: systemctl list-units -t service
      • 列出所有服务: systemctl list-units -at service 注意顺序
      • 设置开机自启动: systemctl enable httpd
      • 停止开机自启动: systemctl disable httpd
      • 列出所有自启动服务:
        • systemctl list-unit-files|grep enabled`
        • systemctl list-unit-files|grep disabled`
        • systemctl list-unit-files|grep disabled | grep httpd`
      • 使指定服务从新加载配置: systemctl reload httpd
  • Firewalld 防火墙和 SELinux 防火墙的设置
    • firewalld 的基本使用:
      • 启动: systemctl start firewalld
      • 关闭: systemctl stop firewalld
      • 查看状态: systemctl status firewalld
      • 开机禁用 : systemctl disable firewalld
      • 开机启用 : systemctl enable firewalld
    • firewall-cmd 的基本使用:
      • 那怎么开启一个端口呢: firewall-cmd --zone=public --add-port=80/tcp --permanent–permanent 永久生效,没有此参数重启后失效)
      • 重新载入: firewall-cmd --reload 修改 firewall-cmd 配置后必须重启
      • 查看: firewall-cmd --zone= public --query-port=80/tcp
      • 删除: firewall-cmd --zone= public --remove-port=80/tcp --permanent
      • 查看所有打开的端口: firewall-cmd --zone=public --list-ports
        • SELinux 防火墙的设置
      • 修改 /etc/selinux/config 文件
      • SELINUX=enforcing 改为 SELINUX=disabled

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文