文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Linux 常用命令
init 0
关机init 6
重启ls
、ls -l
、ll
列出出当前目录下的文件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
- 安装 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
- 添加别名
- zip 压缩包
- 用户管理、用户权限管理
- 用户管理
- 添加用户
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/
修改目录下的所有文件的权限为可读、可修改、可执行
- drwxr-xr-x. 2 root root 6 4 月 11 2022 mnt
- 用户管理
- 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
- 安装 nginx 源
- yum 安装 rpm 包
- rpm 命令安装卸载查找 rpm 包
- 源代码包的安装
- 先安装源代码编译的软件
gcc
,make
,openssl
如下: 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 下源代码安装 nodejs:
- 先安装源代码编译的软件
- 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
- 缓冲区是从主内存中特地预留出的内存,用来存放特定的一些信息,例如从磁盘中取得的文件表,程序正在读取的内容等等
- top 命令的第二行:
- 看当前登录的账户 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,即exit
。exit
信号不会被系统阻塞,所以kill -9
能顺利杀掉进程。- 查看端口
netstat -tunpl |grep httpd
- 查看端口
- 关闭进程
- top 命令的第一行:
- 查看硬盘信息:
- `df`命令作用是列出文件系统的整体磁盘空间使用情况。可以用来查看磁盘已被使用多少空间和还剩余多少空间。- `df -h` 以人们易读的方式显示,总共多少 g 用了多少 g- `df /home` 查看该文件夹所在磁盘的使用情况
- top 命令 查看内存 cpu 进程 以及服务器负载
- 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论