一些关于 Linux 的笔记
这篇文章最后更新的时间在六个月之前,文章所叙述的内容可能已经失效,请谨慎参考!
- 查看守护进程
ps -x
- 查看linux的80端口是否关闭
netstat -an | grep :80
- 将文件mirror重命名为php-7.1.0.tar.gz
mv mirror php-7.1.0.tar.gz
- linux下查找nginx里的nginx.conf文件地址方法
nginx -t
- 下载文件
wget http://cn2.php.net/get/php-7.1.0.tar.gz/from/this/mirror
- 显示当前路径
pwd
- 查看 ip
ip addr
ifconfig
- 查看系统负载
top
vmstat
w
uptime
- 查看磁盘负载
iostat
- 查看 linux 版本
uname -a
- 查看 centos 版本
cat /etc/redhat-release
- 把 mynginx 目录下的文件打包
tar -cf mynginx4.tar mynginx/*
- 将多个文件打包成一个tar
tar -cf d.tar a b c
- 解压tar文件
tar -xf all.tar
- 解压tar文件到指定目录
tar -xf bbs.tar -C /zzz/bbs
- 通过文件名查找文件
find / -name httpd.conf
- 查找某个文件
find –name nginx.conf
- 查找某个文件夹
find / -name mysql -type d
- 创建test.c这个文件
touch test.c
- 新建一个文件夹
mkdir 文件夹名
- 更新yum仓库
yum -y update
- linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.
例子:将目录A重命名为B
mv A B
例子:将/a目录移动到/b下,并重命名为c
mv /a /b/c
- 查找当前系统是否已经安装sshd
rpm -qa |grep ssh
- linux 查看已安装软件
rpm -qa
- 处理木马程序可能要用到的命令
top
ps
lsof
- 查看由网络连接的进程
lsof -i
- 查看所有进程
ps -ef
- 使用-p查看指定进程ID已打开的内容
lsof -p 10075
- 安装某个 包/库/软件
yum –y httpd-devel
- 返回上一级目录
cd ..
- 将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身。 即格式为:cp -Rf 原路径/ 目的路径/
cp -Rf /home/user1/* /root/temp/
- 复制文件夹
cp -R data /root
- 立刻重启(root用户使用)
shutdown -r now
- 普通 curl
curl -i http://localhost
- post数据的 curl
curl -i -d a=asd 127.0.0.1
- 列出文件夹里的文件
ls
ll
- 关闭端口
iptables -A INPUT -p tcp --dport 111 -j DROP
- 打开端口
iptables -A INPUT -p tcp --dport 111 -j ACCEPT
- 删除文件
rm 文件名
- 删除文件夹,只能删除空文件夹
rm -d 文件夹名
- 删除文件夹下的全部内容,文件夹里每个文件都需要确认一次
rm -r 文件夹名
- 删除文件夹,不需要确认
rm –rf 文件夹名
- 安装openssh-sever服务器
yum install openssh-server
- 查看正在开放的端口
netstat -tanp
- 处理木马程序可能要用到的命令
top
ps
lsof
- 查看由网络连接的进程
lsof -i
- 使用-p查看指定进程ID已打开的内容
lsof -p 10075
- 解压tar.xz文件,先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包
xz -d xxx.tar.xz
tar xvf xxx.tar
- 创建tar.xz文件,要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz
tar cvf xxx.tar xxx/
xz -z xxx.tar
- linux查看权限
ls -l 文件名或目录名
- 如何理解 ls -l 的输出
-rwxrwxrwx
第一位是 d 或 -
代表目录或文件
接着三位是所有者的权限
接着三位是同组用户的权限
接着三位是其它用户的权限
r 读 4
w 写 2
x 执行 1
- 无权限 0
- linux修改文件权限
chmod 数字 文件名
- 给修改目录下所有文件和子目录的权限
chmod -R 数字 目录名
例子
chmod -R 777 ci3
- linux 后台运行
nohup 命令 &
- 查看命令是否在运行
ps -ef | gerp 命令
- 停止进程, pid 通过 查看命令是否在运行 获取
kill pid
- linux 查看用户
cat /etc/passwd
用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
- linux 查看用户组
cat /etc/group
用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)
- mobaxterm ssh连接设置不超时
原因:服务器为了节省资源采取了一些措施,其中一条就是如果检测一个会话(session)几分钟或者几小时没有数据流入或者流出就会断开这个链接;
解决方案:设置SSH keepalive,settings->configuration->SSH->Sessions Settings->勾选SSH keepalive;
php 相关
- 安装php-fpm
yum –y install php-fpm
- 测试 php-fpm 是否安装成功
php-fpm -t
- 查看 php 配置文件的目录
php -ini
- 启动 php 进程服务
service php-fpm start
- 查看 php 进程服务是否启动成功
ps -aux|grep php
- 查看 php 安装路径
whereis php
- 当php的curl遇到这种问题时 curl: (60) SSL certificate problem: unable to get local issuer certificate
下载一个证书 php -r "readfile('https://raw.githubusercontent.com/bagder/ca-bundle/e9175fec5d0c4d42de24ed6d84a06d504d5e5a09/ca-bundle.crt');" > ca-bundle.crt
把下载的证书复制到 php目录/extras/ssl 下
修改 php.ini curl.cainfo="php目录/extras/ssl/ca-bundle.crt"
- 如何替换 symfony 4.2 以下版本的 create_function
- 全局搜索 create_function
- 把 create_function 替换为匿名函数
例子
// create_function('$cfgValue', 'return (int) $cfgValue === 0;'),
function ($cfgValue) {return (int) $cfgValue === 0;},
- 使用 composer 自动加载
- 在 composer.json 里添加一项, Acme 是名命空间, src/ 是路径
"autoload": {
"psr-4": {"Acme\\": "src/"}
}
- 在命令行里运行
composer dump-autoload
- 也可在代码里添加名命空间,像这样
$loader = require 'vendor/autoload.php';
$loader->add('Acme\\Test\\', __DIR__);