Linux日常使用命令
1.vim查看和编辑hosts虚拟域名配置,使用文本式打开文件:
sudo vim /etc/hosts
vim是vi发展出来的老式文本编辑器,vim对代码补完、编译、错误跳转等对编程做了完善,更加方便。
如果没有加sudo,可以单独切换到root账户:
su root 或 sudo su
参照:https://www.cnblogs.com/carey9420/p/11991198.html
2.cat查看文件信息,直接将文本输出到客户端;
sudo cat /etc/hosts
输出后如果屏幕信息太多,看完可以使用 reset清屏命令
tac 从最后一行开始显示, tac 是 cat 的倒着写;
tac test.sh
nl 显示的时候,顺道输出行号;
more 一页一页的显示文件内容,less 与 more 类似,但是比 more 更好的是,他可以往前翻页; more和less结合空格键翻页使用
head 只看头几行;
tail 只看尾巴几行。
3.ps 查看进程,查看nginx相关进程是否启动
ps -ef | grep nginx
查看进程后,如果想杀死指定端口号的进程:
kill -USR2 4593 【或者 kill -9 6893 端口号】
4.ps 查看nginx的服务命令数:
ps -aux |grep nginx |wc -l
5.top 查看并监控httpd的服务列表:
top |grep httpd
6.rpm 套件管理器,查看是否有安装过mysql套件:
rpm -qa | grep mysql* 或 rpm -qa|grep -i mysql
7.ln 添加软连接,文件或文件夹映射:
ln -s /workspace/abc/nginx/dev/abc.conf abc.conf
8.chown 设置文件夹的操作权限所有者,-R参数即文件夹里面的所有文件和目录
sudo chown -R www dev_dir 给文件夹dev_dir设置为www权限所有者
chown www:www /var/lib/nginx 赋予www用户/用户组对nginx文件夹的操作权限
9.文件格式转换与修正:
1>. dos2unix 文件名 转换文件Unix格式,当nginx配置 sendfile设置为on时,某些js文件中会出现奇怪的字符或者乱码,应该设置为off
可以使用 dos2unix 命令来转换文件格式为Unix格式,如下:
sudo dos2unix /var/www/dir_name/file_name
参考:http://www.cnblogs.com/sanshuiqing/p/4512337.html
(类似方法:sed -e ‘s/.$//’ issue2.js > issue.js 转换文件Unix格式;文件行尾都有^M,使用sed命令也可删除:# sed -i ‘s/\r//g’ 文件名 )
2>.查看文件行尾结束符(换行符):cat -A 要查看的文件路径 或者 使用vim打开你要查看的文件,在末行模式输入 :set list
有时候文件每一行的换行符为^M(代码都连接到一起,无换行格式),就可以使用【1>】的文件格式转换解决。
查看文件行号:到vi或者vim编辑器的末行模式下,输入 set number 或者 set nu,按下回车就显示行号了。
10.Linux的image-filter图片处理插件,图片剪切压缩等,搜索yum上面相关安装包
yum search image-filter|grep nginx
11.systemctl系统命令:
systemctl status nginx.service 查看nginx服务的状态 systemctl stop nginx 停止nginx,start、restart systemctl enable service 将服务添加到开机启动进程里面(反之disable)
系统服务存放位置:/usr/lib/systemd/system 参考 https://blog.csdn.net/y505772146/article/details/82560537
12.系统或项目日志监控,实时打印log新增信息:
tail -f access.log
查看文件最后10行
tail -n 10 文件名
13.检查mysql服务器配置:
chkconfig --list | grep mysqld
查看是否自动启动,如果不是则执行以下,过后重启系统后自动启动:
chkconfig mysqld on【systemctl enable mysqld】
14.服务器远程连接:
一、使用私钥(id_rsa私钥文件):
ssh -I /dev/blind-date/id_rsa root@127.0.0.1
使用账号密码登录远程连接:
➜ ~ ssh root@100.10.10.11 # 之后会出现需要输入password ➜ ~ your password ➜ ~ ok, link success !
15.文件夹/文件重命名
linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.
例子:将目录A重命名为B
mv A B
例子:将/a目录移动到/b下,并重命名为c
mv /a /b/c
16.查看和修改自定文件夹的权限及用户组
服务器默认的PHP的session文件夹是root权限和用户组(/var/lib/php/session)
所以先查看一下:
[root@VM_0_10_centos php]# ll total 8 drwxrwx--- 2 root root 4096 May 14 02:17 session drwxrwx--- 2 root root 4096 May 14 02:17 wsdlcache
接着修改权限和用户组,然后在查看就正确了:
[root@VM_0_10_centos php]# chown -R nginx.nginx session/ [root@VM_0_10_centos php]# ll total 8 drwxrwx--- 2 nginx nginx 4096 May 14 02:17 session drwxrwx--- 2 root root 4096 May 14 02:17 wsdlcache
使用remi安装的PHP,session存放路径是:
/var/opt/remi/php73/lib/php/session
一般使用手动安装的方式,默认存储位置是系统临时目录/tmp/session下
偶尔可能会服务器升级(系统升级),文件权限会被恢复成root权限,导致系统不能写入session文件,系统登录操作等失败。
更改会话目录的文件权限,以便PHP会话正常工作
chown -R nginx:nginx /var/opt/remi/php73/lib/php/session
17.查看文件系统及使用空间的情况
df -h
文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 8.3G 4.6G 3.8G 55% / devtmpfs 296M 0 296M 0% /dev tmpfs 307M 0 307M 0% /dev/shm tmpfs 307M 4.5M 303M 2% /run tmpfs 307M 0 307M 0% /sys/fs/cgroup /dev/sda1 497M 109M 389M 22% /boot vagrant 113G 99G 15G 88% /vagrant workspace 113G 99G 15G 88% /workspace tmpfs 62M 0 62M 0% /run/user/1000
18.du只显示目录所占用磁盘空间的大小,而不显示其下子目录和文件占用磁盘空间的信息,大小以K为单位
du -s
2830580 .
#检查磁盘空间使用量 [root@iZ94zz3wqciZ ~]# du -a 4 ./app.sh 4 ./test 4 ./php.sh 4 ./test2 4 ./test3 4 ./test4 4 ./fun.sh 4 ./fun2.sh 4 ./echo 352 .
df -h
#列出文件系统的整体磁盘使用量 [root@iZ94zz3wqciZ ~]# df -h Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 20641404 14778400 4814480 76% / tmpfs 509300 0 509300 0% /dev/shm
19.top检测CPU系统状况
top
top - 11:46:11 up 1 day, 12:44, 1 user, load average: 0.01, 0.09, 0.08 Tasks: 127 total, 1 running, 125 sleeping, 1 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 628584 total, 75468 free, 342708 used, 210408 buff/cache KiB Swap: 1023996 total, 883956 free, 140040 used. 136060 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 924 redis 20 0 142952 4636 456 S 0.3 0.7 3:13.16 redis-server 1013 root 20 0 374644 520 432 S 0.3 0.1 0:38.59 VBoxService 1 root 20 0 125360 2016 912 S 0.0 0.3 0:09.96 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.38 ksoftirqd/0
20.开放服务器端口号,如开放8888端口号
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT service iptables save
21.查看和修改系统时间:
1. 查看时间和日期 命令 : "date" 2.设置时间和日期 例如:将系统日期设定成2009年11月3日的命令 命令 : "date -s 11/03/2009" 将系统时间设定成下午5点55分55秒的命令 命令 : "date -s 17:55:55" 3. 将当前时间和日期写入BIOS,避免重启后失效 命令 : "hwclock -w" 注: date 不加参数可以直接看到当前日期时间 cal 不加参数可以直接看到本月月历
22.终端命令行直接执行PHP代码:
# -r 命令行使用phpinfo() php -r 'phpinfo(); # -a 交互模式运行PHP # php -a Interactive shell php > echo 2+3; 5 # -e 将PHP脚本作为shell脚本来运行 echo -e '#!/usr/bin/php\n<?php phpinfo(); ?>' > phpscript.php
定位PHP配置文件的路径:
#定位到php.ini的绝对路径 php -i |grep php.ini #输出以下: Configuration File (php.ini) Path => /etc/opt/remi/php73 Loaded Configuration File => /etc/opt/remi/php73/php.ini #修改完后重启php-fpm systemctl start php71-php-fpm #查看当前fastcgi进程个数,如果个数接近conf里配置的上限,就需要调高进程数 netstat -napo |grep "php-fpm" | wc -l
23.查看PHP CLI已经安装的扩展:
~# php -m [PHP Modules] libevent posix pcntl ...
如果某个扩展没安装,像Excel导出需要zip扩展,执行以下命令即可:
yum install php71-php-pecl-zip.x86_64 systemctl restart php71-php-fpm
24.查看开机启动的进程,把不必要启动进程关掉:
# chkconfig --list |grep on
25.查看硬盘分区情况:
#用于磁盘分区 [root@iZ94zz3wqciZ ~]# fdisk -l Disk /dev/xvda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00078f9c Device Boot Start End Blocks Id System /dev/xvda1 * 1 2611 20970496 83 Linux //id是83,非lvm Disk /dev/xvdb: 23.6 GB, 23622320128 bytes 255 heads, 56 sectors/track, 3230 cylinders Units = cylinders of 14280 * 512 = 7311360 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x27cc1f5a
挂载硬盘扩容方法:http://blog.51yip.com/linux/1778.html
26.系统全局查找指定名称的文件(即文件名查找):
在/目录下查找文件名包含php的文件
find / -name *php*
在当前工作目录中查找名为my.php的所有PHP文件
find -type f -name my.php
在/目录中查找名称为share的所有目录
find / -type d -name share
查找权限设置为644的所有SGID位文件
find / -pem 2644
27.创建文件:
touch 文件名 touch a.cpp
复制文件:
#将文件复制到指定目录下(无询问) cp 文件名 目录 cp /var/www/a.cpp /usr/(a.cpp) #将文件复制到指定目录下(有询问) cp -i 文件名 目录 将文件复制到当前目录下 cp 文件名 .
28.删除文件:
#删除下级目录及文件 rm -rf 目录名 #删除文件 rm -f 文件名
29.修改文件权限:
#修改为最高权限 chmod 777 文件名 #给文件加上执行权限,因为下载和上传的文件默认没有执行权限,需要添加执行权限 chmod +x #给用户加上执行权限 chmod u+x 文件名 #给用户减去执行权限 chmod u-x 文件名 将vagrant文件夹所属用户组及用户修改为www chown -R www:www /home/vagrant
详细查看【Linux文件系统上的特殊权限】:https://blog.51cto.com/12050214/1923884
30.输入输出:
#将ls -la命令生成的结果输出到text文件中,同时输出该文件夹大小(用量) ls -la > text 总用量 2696 #输入重定向 wc < text 将text文本中的内容输入,wc命令是输出文本的行数、单词数、字节数。
31.在Linux环境下,经常需要查看某个文件目录下的文件数有多少,除了进入当前目录下查看,还可以使用命令:
ls -l | grep "^-" | wc -l (不包含子目录) // 输出结果:396 // 这里是查看当前目录下的文件列表,也可以指定某一个目录 ls -l my_path/ | grep "^-" | wc -l (不包含子目录)
同样功能的命令行find
// 查看当前目录下的文件和子文件夹的个数指令 find ./ -type f | wc -l(包含子目录) // 输出结果:23 // 同样这里是查看当前目录下的文件列表,也可以指定某一个目录 find ./my_path/ -type f | wc -l(包含子目录) find ./ -maxdepth 1 -type f | wc -l(只包含一级目录,maxdepth指定层级)
32.查看套件安装目录,例如查看nginx安装后的目录:
whereis nginx #nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz /usr/share/man/man3/nginx.3pm.gz
33.查看本机IP地址信息:
ifconfig | grep "inet " | grep -v 127.0.0.1
输出如下(192.168.124.71 即为本机的内网IP):
inet 192.168.124.71 netmask 0xffffff00 broadcast 192.168.124.255 inet 10.10.10.1 netmask 0xffffff00 broadcast 10.10.10.255
34.查看端口号列表或指定某个端口号使用情况(lsof 不跟随参数则列出所有端口号):
lsof -i:8080
35.有时候Linux服务器开启久了,时间出现了偏差,偏移几分钟或者长,这样就很麻烦,经常要手动去设置、同步:
1、查看当前服务器时间 date -R 2、安装ntpdate服务 yum install ntpdate 3、直接用域名同步中国上海时间 是阿里云的服务器 ntpdate ntp1.aliyun.com 或者使用 ntpdate 210.72.145.44 这个是国家授时中心的IP 如果同步出现这个错误: the NTP socket is in use, exiting //ntp服务器在使用中 使用 service ntpd stop 命令停止 然后再同步就可以了 同步时间的地址 server 131.107.1.10 server time.asia.apple.com 如果以上方法都不行,就用 date -s 2019-02-20 16:00:00 命令来设置时间 4.使用CRON定时器来执行自动同步 5.或者使用系统服务timedatectl
Tags In
Jocsonme
分类目录
- Apache (6)
- APP-Android (1)
- APP-IOS (3)
- BI (2)
- Qlikview (2)
- BigData (2)
- Domain-Space (1)
- Git (4)
- Google (1)
- History – Articles (2)
- HTML+CSS (13)
- IDE-CodeEditor (1)
- NetBeans (1)
- Javascript (18)
- Linux (24)
- Load-Balancing (3)
- Memcached (1)
- MySQL (9)
- PHP (28)
- Laravel (1)
- Swoole (1)
- Symfony2.x – 3.x (2)
- ThinkPHP5 (1)
- Thirdpart – develop (6)
- ZendFramework2.x (1)
- Products-Design (1)
- Redis (1)
- SEM (2)
- SEO (2)
- Server-Architecture (5)
- Vagrant (1)
- Windows (7)
- BAT (1)
- Workplace (1)
一 | 二 | 三 | 四 | 五 | 六 | 日 |
---|---|---|---|---|---|---|
« 11月 | ||||||
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |