Linux中常用命令及操作【实际开发总结】

工作过程中,经常操作Linux,最近正好总结下工作以来Linux常用的命令及操作,以防下次又忘记了。下面为个人在工作所使用的的命令和相关的操作,并不一定的十分准确。

主要为下面几个部分:

  1. Linux常用操作
  2. Linux数据库相关操作
  3. Linux基本命令
  4. 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
	

- ln 【软链接相关操作】

二: 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相关操作可以参考菜鸟教程,上面有更加详细的介绍

Guess you like

Origin blog.csdn.net/qq_37604998/article/details/119809387