工作过程中,经常操作Linux,最近正好总结下工作以来Linux常用的命令及操作,以防下次又忘记了。下面为个人在工作所使用的的命令和相关的操作,并不一定的十分准确。
主要为下面几个部分:
- Linux常用操作
- Linux数据库相关操作
- Linux基本命令
- Linux内vim常用命令
一、Linux常用操作
- tail 【查看文件的内容】
该命令加上参数-f后,代表实时查询日志信息,可以用来线上非正式环境的测试
[root@test csdn]# ls
api.log
# 查看文件后100行信息
[root@test csdn]# tail -100 api.log
# 实时显示最新的文件内容
[root@test csdn]# tail -f api.log
-------------------------------------------------------------------------
# 对于访问量大日志文件来说,只用tail -f 是不行的,可以在后面加上筛选信息,只展示该筛选信息的日志信息,如下所以
[root@test csdn]# tail -f api.log | grep '87db749b4e0294e97bd0f2afad758bf5'
#如上所示,加上| grep代表查询值展示带有'87db749b4e0294e97bd0f2afad758bf5'内容的信息,我们是根据用户提供的uid查询用户的token,然后在服务器内这样查询该用户的操作
- ssh 【登录远程服务器】
因为我们经常需要操作客户的服务器,所用使用ssh来登录
# 一般情况下,已下就能登录远程服务器,127.0.0.1模拟客户服务器,回车输入密码
[root@test /]# ssh 127.0.0.1
# 上述默认22端口,用户名为root的登录方式,如果默认信息不是有修改【如:服务器端口号为6666,服务器用户名为root,服务器IP为127.0.0.1】,则需要下面方式进行登录,,回车输入密码
[root@test /]# ssh -p 6666 [email protected]
# 如果服务器没有安装ssh,可以执行下述命令进行安装
[root@test /]# yum install ssh
# 启动ssh
[root@test /]# service sshd start
需要频繁登录对方的服务器的话,免密登录则需要下述操作
下面是在自己服务器操作:
# 1、切换到用户主目录
[root@test /]# cd ~
# 2、查看隐藏的.ssh文件夹
[root@test ~]# ll -a
drwx------ 2 root root 4096 Jun 10 10:38 .ssh
# 3、进入.ssh内
[root@test ~]# cd .ssh
[root@test .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
# 4、编辑服务器公钥文件,把里面内容复制
[root@test /]# vim id_rsa.pub
---------------------------------------------------------
下面是在对方服务器操作:
# 1、2、3步骤如上一致
# 4、编辑存储公钥文件
[root@test /]# vim authorized_keys
# 5、添加公钥,将自己服务器的公钥放在该文件内并保存
---------------------------------------------------------
下面是在自己服务器操作
# 登录添加公钥的服务器,如下所示回车就直接登录了,不再需要输入密码
[root@test /]# ssh 127.0.0.1
- scp 【 Linux之间复制文件和目录】
我们经常需要从自己服务器传输文件到对方服务器,所以该命令也非常的常用
#如下所示:将自己服务器内api.log文件传输到服务器用户名为root,服务器IP为127.0.0.1的服务器的csdn文件下
[root@test csdn]# ls
api.log
[root@test csdn]# scp /www/wwwroot/csdn/api.log [email protected]:/www/wwwroot/csdn/
# 和上述ssh登录一样,若对方修改了默认端口号【端口号为:6666】,则需要下述操作
[root@test csdn]# scp -P 6666 /www/wwwroot/csdn/api.log [email protected]:/www/wwwroot/csdn/
- ps 【显示当前进程的状态,类似于 windows 的任务管理器】
- kill 【删除执行中的程序或工作】
这个是我们部署脚本的时候,有时部署错误,但是脚本正在跑,所以通过此命令查看正在运行的脚本进程,然后关闭进程
#通过关键字查找进程
[root@test /]# ps -ef | grep yii
root 27371 1 8 16:05 ? 00:00:27 php ./yii data-format/proofread-user-vip
root 27678 1 2 16:10 ? 00:00:00 php ./yii data-comic/photos-size
root 27725 5682 0 16:10 pts/1 00:00:00 grep --color=auto yii
-------------------------------------------------------------------------
# 如上所示:展示了我们正在跑的脚本进程,假如我们需要关闭./yii data-comic/photos-size这个进程,则需要执行下述命令
# 如下关闭进程,27678代表该进程的PID,根据PID关闭进程
[root@test /]# kill 27678
# 彻底杀死进程
[root@test /]# kill -9 27678
- crontab【定期执行程序的命令】
因为我们需要统计用户相关的信息,然后在后台展示,所以我们使用脚本来进行数据的统计,通过定时任务来执行脚本
# 进入crontab内
[root@test /]# crontab -e
10 10 * * * (cd /www/wwwroot/test; ./yii stat/order >> log/run_order.log 2>&1 &)
--------------------------------------------------------------------------
如上所示(10 10 * * *)代表设置的时间, 此脚本时间代表每天10点10分执行一次。该处设置五个时间依次是:
- 分钟 (0 - 59)
- 小时 (0 - 23)
- 一个月中的第几天 (1 - 31)
- 月份 (1 - 12)
- 星期中星期几 (0 -6) (星期天 为0)
-------------------------------------------------------------------------
时间后面则是我们需要定时执行的脚本【该项目为PHP的YII2框架】:
- test:代表进入部署的项目内
- ./yii stat/order:代表执行具体的脚本(stat代表控制器,order代表执行的方法)
- >> log/run_order.log:代表脚本产生的日志信息
- 2>&1:是将标准出错重定向到标准输出
- &:是让该命令在后台执行
- tar 【压缩文件及解压】
# 文件压缩,将test.php压缩成tar.gz的文件
[root@test csdn]# ls
test.php
[root@test csdn]# tar -czf test.tar.gz test.php
[root@test csdn]# ls
test.php test.tar.gz
------------------------------------------------------------------------
# 文件解压
[root@test csdn]# ls
test.tar.gz
[root@test csdn]# tar -zxvf test.tar.gz
test.php test.tar.gz
二: Linux基本命令
关于Linux内数据库的相关操作,可以参考《Linux连接Mysql数据库命令》这个文章
里面介绍了Linux内:
- Mysql本地和rds的登录
- Mysql导出命令
- Mysql导入sql文件
- Redis本地和rds连接
- Redis切库
- Redis清除当前库的数据
- Redis清除所有库的数据
三: Linux基本命令
ls 【列出目录及文件名】
# ls 列出目录及文件名
[root@test wwwroot]# ls
demo prod test
# -l 与下面命令效果相同
[root@test wwwroot]# ls -l
total 12
drwxr-xr-x 6 root root 4096 Jul 22 19:21 demo
drwxr-xr-x 9 root root 4096 Jul 21 14:55 prod
drwxr-xr-x 8 www www 4096 Aug 19 20:15 test
ll 【显示一个文件的属性以及文件所属的用户和组】
# ll 显示一个文件的属性以及文件所属的用户和组
[root@test wwwroot]# ll
total 12
drwxr-xr-x 6 root root 4096 Jul 22 19:21 demo
drwxr-xr-x 9 root root 4096 Jul 21 14:55 prod
drwxr-xr-x 8 www www 4096 Aug 19 20:15 test
mkdir 【创建一个新的目录】
# mkdir 创建一个新的目录
[root@test wwwroot]# mkdir csdn
[root@test wwwroot]# ls
csdn demo prod test
rmdir 【删除一个空的目录】
# rmdir 删除一个空的目录
[root@test wwwroot]# rmdir csdn
[root@test wwwroot]# ls
demo prod test
cd 【切换目录】
# cd 切换目录
[root@test wwwroot]# cd csdn
[root@test csdn]#
pwd 【显示目前所在的目录】
# pwd 切换目录
[root@test wwwroot]# cd csdn
[root@test csdn]# pwd
/www/wwwroot/csdn
cp 【复制文件或目录】
# cp 复制文件或目录
[root@test wwwroot]# cp -r csdn/ csdn1
[root@test wwwroot]# ls
csdn csdn1 demo prod test
mv 【移动文件与目录,或修改名称】
# mv 移动文件与目录,或修改名称
[root@test wwwroot]# mv csdn1 csdn
[root@test wwwroot]# cd csdn
[root@test csdn]# ls
csdn1
rm 【移除文件或目录】
注意:一定要看清楚运行的命令,同事有次一不小心把线上的项目全部删了
# rm 移除文件或目录, -r 代表递归删除,一定要慎用
[root@test csdn]# rm -rf csdn1/
[root@test csdn]# ls
df 【列出文件系统的整体磁盘使用量】
# df 列出文件系统的整体磁盘使用量
[root@test wwwroot]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 103078876 68730372 29928788 70% /
devtmpfs 1856428 0 1856428 0% /dev
tmpfs 1866884 604 1866280 1% /dev/shm
tmpfs 1866884 804 1866080 1% /run
tmpfs 1866884 0 1866884 0% /sys/fs/cgroup
tmpfs 373380 0 373380 0% /run/user/1002
tmpfs 373380 0 373380 0% /run/user/0
# -h 代表将容量结果以易读的容量格式显示出来
[root@test wwwroot]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 99G 66G 29G 70% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.8G 604K 1.8G 1% /dev/shm
tmpfs 1.8G 804K 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
tmpfs 365M 0 365M 0% /run/user/1002
tmpfs 365M 0 365M 0% /run/user/0
chmod 【更改文件属性】
在我们给客户搭建系统的时候,经常遇到不能上传到服务器内,绝大部分是因为文件夹的权限不够,然后设置下可读可写可执行就可以
# chmod 更改文件属性
[root@test csdn]# ls
total 4
drwxr-xr-x 2 root root 4096 Aug 19 20:23 csdn1
# 设置可读可写可执行
[root@test csdn]# chmod 777 csdn1
total 4
drwxrwxrwx 2 root root 4096 Aug 19 20:23 csdn1
四:Linux内vim常用命令
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计
查看是否安装vim
# 查看是否安装
[root@test wwwroot]# vim
-bash: vim command no found
# 出现上面提示代表没安装vim
安装vim
# 安装vim,可能会提示要按回车,回车继续安装就行,这个安装很快的
[root@test wwwroot]# yum install vim
# 上面完成,运行vim,进入vim界面代表安装完成
[root@test wwwroot]# yum install vim
上面是引用的菜鸟教程的图片,关于Linux常用大家也可以去菜鸟教程学习
编辑文件
# 编辑文件
[root@test wwwroot]# vim test.php
如上:执行此命令后就命令模式,如图命令模式其实没有其它额外太多操作【有一个回退命令下面介绍】,起到中转作用,主要的操作集中在输入模式和底线命令模式
关于vim相关操作可以参考菜鸟教程,上面有更加详细的介绍