【内置】总结持续更新--linux常用指令

 

注意:绿色字为注释橙色字为注意;蓝色字为和类似的区分

目录说明

5 、 /home普通用户的"家目录"

    给系统每增加一个“普通用户”的同时,都会在该目录为该其创建一个文件目录

    代表该用户的“家目录”,用户后期使用系统的时候会首先“进入”其家目录

    家目录名字默认与当前用户名字一致,用户对家目录拥有绝对最高的权限。

6 、 /root该目录是root管理员的家目录,root用户登录系统后首先进入该目录

7 、 /var全称:variable  可变的、易变的

    该目录存储的文件经常会发生变动(增加、修改、删除)

    经常用于部署项目程序(php)文件

 /var/lib //服务产生的数据放这

/var/log //服务产生的日志

8 、 /boot系统启动核心目录,用于存储系统启动文件

9 、 /etc系统主要配置文件目录

    例如: /etc/passwd  用于存储用户信息的文件 /etc/group   用于存储组别信息的文件

  /etc/init.d //启动脚本位置

 /etc/sysconfig //初始化环境配置文件位置

10 、 /lib全称:library 系统资源库目录

11 、 /selinux全称: secure enhanced  linux安全增强型linux

    对系统形成保护,会对给系统安装软件时有干扰作用

12、proc

cat -n /proc/cpuinfo //看服务器cpu

cat /proc/cpuinfo |grep name|cut -f2 -d: | uniq -c         //*8  Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz

cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l     //查看物理CPU的个数

cat /proc/cpuinfo |grep "processor"|wc -l    //查看逻辑CPU的个数

cat /proc/cpuinfo |grep "cores"|uniq  //查看CPU是几核

总结一般情况下:
/bin:系统的工具程序
/usr/bin:提供给管理员和一般用户使用的程序
/usr/local/bin:一般是用户安装的程序

快捷键

ctrl + c 强制终止当前命令

ctrl + l 清屏

ctrl + a 光标移动到命令行

ctrl + e 光标移动到命令行

ctrl + u 从光标所在的位置删除到行首

ctrl + z 把命令放入到后台执行

ctrl + r 在历史命令中搜索(搜索的结果是最后一个包含xx指令的命令

 

curl rate.sx/btc  #好玩 酷炫的效果

常用指#令

https://www.cnblogs.com/linuxprobe/p/5381538.html  #*lvm相关的

 

 

* 怎么知道/data在哪个分区中?(下图finebi的)

指定目录的 就是按 指定目录的来,没有指定目录的都在 /

*正常的话 应该是data目录单独一个盘   存储 网站的数据 日志 之类的,可以自动扩容

下图其他人的

 

用户、组、权限、用户相关

为什么需要用户??每运行一个软件,都有一个用户与之对应(当然安装软件前就创建了)

 

总结:先创建组 后创建用户

 

 

用户:

 

 

/etc/passwd(用户的信息)  

 

用户id代表的意义:

 

 

 

 

0 表示管理员(root)

1 - 500 表示系统用户

501 - 65535 表示普通用户

不同的 Linux 发行版,这些数字可能不一样

 

/etc/shadow(用户的密码,冒号是分隔符)

 

 

1、useradd //【增】添加用户;-g 用户组 -s不允许其登录、-M 不生成家目录

 

useradd  -g www -u www -M -s /sbin/nologin

 

2、usermod //【改】修改用户信息,组编号等-g

> usermod  -g 新组编号-u新用户编号-d新家目录-l新名字username

  注意:家目录修改后需要手动创建,不同于创建用户家目录设置

          创建用户时设置家目录,该目录会自动创建

          修改用户家目录时,该目录不会自动创建(需要手动创建)

3、userdel //【删】删除用户-r的同时删除家目录

 

> userdel -r username  //删除用户的同时也删除其“家目录”

4、passwd 新添加的账户名 //敲回车,就会让输入密码。为其设置登录密码

 

组(多个用户放在同一个组):

 

/etc/group(用户组的信息)

 

/etc/gshadow(用户组的密码,都是空的,用户组不需要密码)

 

1、groupadd //【增】添加组

     > groupmod -g gid  -n newname  groupname

2、groupmod //【改】修改组

3、groupdel //【删】删除组,注意:只有空组(内部没有用户信息)才允许删除

 

 

权限:

 

 

连接:是指软 + 硬连接 的数量

文件的更新时间:该目录下有任何一个文件修改了,这个时间都会更新

 

 

1、chmod 777 文件或目录名//设置权限(传统权限分组)

    1.1、"字母相对方式"设置权限

    权限: r读w写x执行

    用户: u主人  g同组  o其他组

    chmod  u+/-rwx, g+/-rwx, o+/-rwx  文件

        不同用户通过",逗号"分隔

        在同一个用户里边,+/-只能用“一个”

        "rwx"在同一个用户里边可以设置一个或多个

        "ugo" 每次权限操作可以设置一个或多个用户

   >chmod u+rw  filename        //主人增加读、写

   >chmod g-rx  filename        //同组删除读、执行

   >chmod u-w,g+x filename      //主人删除写,同组增加执行

   >chmod o+w,o-x  filename     //其他组用户“增加写、删除、执行”

   1.2、 "数字绝对方式"设置权限(把原来的权限替换掉,因为是绝对方式)

   读:4 ; 写:2  ; 执行:1 ; 没有权限:0

  > chmod -R 777 目录名

2、setfacl  //acl(对一个人、一个文件)精确划分权限http://blog.csdn.net/qwq_qaq/article/details/54882203

3、chown 用户名:用户组 目录名 //将指定文件/目录的拥有者改为指定的用户或组

4、chgrp //命令用来改变文件或目录所属的用户组

用户相关:

2、su 切换用户

    > su -  root        //效果同su

    > su  普通用户名称  //如果你当前是超级管理root向普通用户切换

    > exit        //当前用户退回到之前用户

    su多次使用,用户会“累加”,建议“su” 和 “exit”匹配使用

3、whoami  //查看当前登录用户

4、exit 或 ctrl+d //退出到之前用户

5、id  //当前用户(活跃用户)

查看目录 || 文件

 

目录切换:

1、> cd  目录名字  //切换到哪个目录

2、> cd  /        //切换到根目录

3、> cd  ..       //向上级目录切换

4、> cd  ~         //快速切换回自己的家目录

查看目录下的文件信息:

1、> ls          //list查看当前目录下有什么文件

2、> ls  -l  或ll    //*list  -list通过详细内容形式查看目录下的文件内容

https://blog.csdn.net/LEON1741/article/details/82386520  #*详解ll指令显示结果分析

ll | grep "^-" | wc -l   #*统计当前目录下,有多少个文件

ll | grep "^d" | wc -l  #*统计当前目录下,有多少个目录

ll -R | grep "^-" | wc -l  #*统计当前目录下(包含子目录中的),有多少个文件

ll -R | grep "^d" | wc -l  #*统计当前目录下(包含子目录中的),有多少个目录

*解析:grep "^-" 是个正则,查找-开头的行;-R 是大写

 ll -ht    #*按时间排序,最新的在最上面

3、 > ls  目录    //查看指定目录下文件名字信息

4、 > ls  -l 目录  //以详细列表形式查看指定目录下文件名字信息

5、 > ls  -a      //list  all查看全部文件,包括隐藏文件

6、 > ls  -al     //list  list all以详细列表形式查看全部文件,包括隐藏

文件:

7、 > ls  -i      //查看目录下文件名字的索引号码(id号)

-h  //人性化显示(显示文件大小)

-d  //查看目录属性

 

操作目录 ||文件

 

1、cat //查看文件内容

    > cat  filename(需要操作的文件名)     //在终端显示文件全部内容

-n 显示的时候带行号(空行编号) 

-b 显示的时候带行号(空行编号)

    > more filename     //通过"敲回车"方式从第一行逐行查看文件内容;不支持回看;q键 退出查看

    > less filename     //"上下左右"键方式查看文件各个部分内容;支持回看,q键 退出

    > head  -n  filename  //查看文件“前n行”内容

    > tail  -n  filename  //查看文件“末尾n行”内容

 -f 当文件增长时,输出后续添加的数据;

     和grep一起使用

    > cat -n log.xml | grep -C 5 'subscribe' //查找log.xml文件中,有subscribe关键词的行,并显示其上下5行

-C上下5行

-B5行

-A5行

2、head -5路径/文件名//查看前5行

3、tail//查看后5行

tail  列出尾行  -n 指定行数   -f  动态查看数据写入

locate //也是查找文件,效率上会比find快一点

4、find 路径 -type  f  -name文件名//查找文件‘文件名*’ #模糊查找

    ① name 根据文件名字查找指定的文件

    find  目录 -name  完整文件名称

 > find  /  -name  passwd[完整名称]    //"递归遍历"系统全部目录查找名字等于passwd的文件

 > find  /etc  -name passwd[完整名称]   //递归遍历/etc及内部所有目录查找  名字等于passwd的文件

    > find  目录 -name  "an*"[部分名称]     //模糊查找文件名字以an开始的

    ② 对查找的目录层次进行限制

    -maxdepth  //限制查找的最"深"层次

    -mindepth  //限制查找的最"浅"层次

    > find / -name passwd -mindepth 3 -maxdepth 4   //在3到4个层次的目录里边定位passwd文件

    ③ 根据文件大小进行查找

    size   单位

    > find ./目录路径 -size  50c      //在当前目录下查找大小[等于]50个字节的文件

    单位:

        数量         单位      实际大小

        100 -------> 512字节:【100*512字节】

        50c -------> 字节 :   【50字节】

        50k -------> 千字节: 【50*1024字节】

        50m -------> 兆字节    【50*1024*1024字节】

    > find  ./  -size  +50c    //在当前目录下查找大小[大于]50个字节的文件

    > find  ./  -size  -50c    //在当前目录下查找大小[小于]50个字节的文件

    

④ 查找10天前修改的文件(源慕课4-3,12分开始,17分)

⑤搜索文件(效率比find高,比find搜的快)源自慕课4-1(视频上的系统是6.3)

 > find 文件名 //他在/var/lib/mlocate后台数据库(默认每天更新1次)中搜索,所以新建的他搜索不到。

    > updatedb //强制更新数据库后就可以搜索到了

5、grep '要查找的内容' 要查找的文件名(绝对或相对路径)  //【查行】支持正则

-v //取反

-E //能使用扩展正则表达式

> grep -Ev '^#|^$' nginx.conf //去掉配置文件中,以#开头的,和空行。用cat -A就能看出来空行是$

> grep  'sbin'  /etc/passwd       //在passwd文件中查找sbin字样,会把sbin所在行的内容都输出(在单个文件中查找)

> grep -rn 'error_log' *    #查找当前目录中所有文件内容包含error_log的文件。

- r是递归查找

- n是是显示行号

*:表示当前目录所有文件,也可以是某个文件名

>cat -n fanruan.log | grep -E 'group load | table load fail | build all'   //*在同一个文件中,同时模糊查找多个不同行的关键词。如 包含group load的行,包含table load fail的行,包含 build all的行

和find的区别:find是查找文件在哪里,grep是查找文件中的xx些内容。此查找不是在vim编辑器中查找vim查找内容用的是/和?

6、awk '{print $1}' 文件名 //【查列】输出第1列的数据。英文单引,支持正则。

-F '分隔符' //默认的分隔符是空,以什么分隔符进行列和列的切分,英文单引

7、sed -i 's#no#yes#g' 要替换的文件名 //【增改删】不使用vim的替换(不打开文件情况下的替换),支持正则。

注意:和vim的替换差不多,vim中是:%s#no#yes#g    //将整个文档的no替换成yes

总结:awk、grep、sed三剑客,都支持正则

6、wc 文件名 //统计

-c #统计字节数 -w #统计单词数 -l #统计行数

> grep '80.82.70.187' /var/log/nginx.access.log | awk '{print $1}' | wc -l //先取行,在取列,最后统计。统计80.82.70.187有多少个

7、du -h //查看文件或目录的大小以k m的形式查看文件占据磁盘空间大小

8、df  -h //磁盘的使用情况

9、du -sh webapps/  //查看webapps目录大小

 

 

对文件/目录的【增删改】

 

1、mkdir 目录名//【增】新建-p递归新建

2、touch 文件名//【增】新建

3、mv 原目录路径 新目录路径//【改】移动(目录文件均可操作)

4、rename //修改文件名

5、cp   源目录路径 新目录路径//【改】复制(目录文件均可操作)-r是给目录用的,递归复制

6、rm -rf   //【删】递归删除目录和文件

7、unlink  //【删】文件名;只能删除文件

8、echo 内容 >路径文件名//【改】覆盖追加2个>>换行追加(不覆盖),内容复杂的话,用引号引起来,单词用空格间隔

9、diff 文件a 文件b //对俩个文件进行对比,输出的是a和b文件不一样的地方

安装和解压

1、yum install 软件包名-y   #安装软件包

yum search 软件包不精确的名字     //在yum中查找软件包

yum list installed //yum中已安装的包

2、rpm 傻瓜式下一步安装软件 

4、zip压缩和解压

范例:

zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。

4.1、 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:

 yum install zip -y #*安装zip工具

# zip -r yasuo.zip abc.txt dir1

4.2、我下载了一个yasuo.zip文件,想解压缩:

yum install unzip -y #*安装解压zip的工具

unzip yasuo.zip 或者 unzip rewrite.zip -d ../    #解压到当前目录,不用先创建文件夹
unzip mydata.zip -d mydatabak/   #*当前目录下面的mydata.zip解压到mydatabak目录里面

按A是全部替换,y是一个一个替换

传输

1、lrzsz(rz)上传 、下载(sz)

前提是要安装lrzsz才可以使用,这两个指令:

yum install lrzsz -y  //执行这句就安装了

上传示例:rz敲回车 //就弹出了选择文件的框,选择完点确定即上传

下载示例:sz要下载的文件名 //弹出下载到哪里

2、ftp 文件传输

3、scp远程拷贝(俩台服务器之间传文件)

scp -r ./lnmp.zip @112.xx.60.46:/ #将lnmp.zip发送到112.xx.60.46服务器上,发送成功后,文件保存在112....服务器的根目录下

注意:给自己的服务器理解为A,对方(112...那台)理解为B

@前面是B的用户名,不写的话,默认是root

@后面是ip

:后面是保存到B服务器的哪个地方

下图是在A服务器上输入指令

当A服务器执行该指令时,会给B服务器踢掉线

B服务器会显示,下面2行

Connection closing...Socket close.

Connection closed by foreign host.

上面是阿里云-》阿里云上传



阿里云-》腾讯云上传,腾讯云就不会被踢掉线

 

4、wget 网址 //下载...软件等(网址里面是啥就下载啥)

 

5、github clone 网址 //从github上下载(你需要的类库,下载那就有个克隆,给那网址粘过来)

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 

注意:最后面红色的,是给下载到哪个目录下,这里下载到了家目录

6、curl 网址 //发请求的(相当于文字界面的浏览器吧)

 

其他

1、netstat -nltp //查看端口

2、ifconfig //网络配置,查看ip

3、hostname //显示主机名

4、help  //指令帮助

5、pwd //当前所在的位置

6、clear //清除之前的指令

7、ln -s  源文件名 软连接名 //软连接(快捷方式)源文件使用绝对路径。目录和文件都可以做软连接。删除源文件后对应的软连接变为无效链接,闪红色字体

8、ln -d 源文件名 硬链接名 //硬链接(多个备份)源文件使用相对路径。目录不能做硬链接。同一个源文件的硬链接,不能跨区(必须在同一个硬盘,同一个分区)里面

9、tree //以结构树状显示(需要单独安装)http://www.cnblogs.com/leijiangtao/archive/2014/06/08/3776280.html

10、which //查看指令对应的可以执行程序文件位置

11、cat /etc/redhat-release  //查看contos的版本号

date             日期
cal              日历
bc               计算器

man              查看帮助

fdisk -l         查看磁盘分区

echo   输出

uname -a  #*查看系统内核版本号

x86 ======> 32位
x86_64 和 x64 以及AMD64 ======> 都是64位

uname -r 显示的意思
2.6.32-642.el6.x86_64
2: —->主版本号
6: —–>次版本号 6 表示稳定版本
32: —–>修订版本号,表示修订次数

*12、查看即时网速

注意:内网就没必要看了,内网很快的。如果慢尝试换下浏览器,有可能是浏览器的网络延迟导致的

安装:

yum install -y gcc
yum install -y gcc-c++
yum install -y ncurses-devel

wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz
tar zxvf nload-0.7.4.tar.gz
cd nload-0.7.4
./configure
make
make install

使用:

1、nload -i 100 -o 100 //-i是输入动画 -o是输出动画 100是动画的纵轴最大100kbit/s

2、nload -m   //同时查看多个网卡的流量情况

3、nload eth1  //nload默认的是eth0网卡,切换监测eth1网卡的流量

4、nload //没有动画

效果:

 

 

 服务管理

1、图形模式与命令模式进行切换,只有root用户可以用

># init 3     //图形 向 命令模式切换

># init 5     //命令 向 图形模式切换

2、runlevel //查看运行级别

 

 

进程管理

* who  #查看目前都谁连着服务器呢

* service php-fpm restart #重启php

10、lsof -i  //列出符合条件的进程,如 lsof -i | grep my (条件是符合my的)

11、killall nginx//杀进程(全杀)

12、pkill//按照进程名杀死进程和killall差不多

13、top  //性能分析工具,主要用来判断服务器的健康状态 

http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html

http://blog.csdn.net/qq_33862644/article/details/79292770

14、ps//当前运行的那些进程 

ps -aux //查看系统中的所有进程,主要看cpu占比

ps -le //查看系统中的所有进程,主要看优先级

http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html

http://blog.csdn.net/qq_33862644/article/details/79292770

15、kill 进程号 //删除执行中的程序或工作(单杀) 

http://man.linuxde.net/kill

http://blog.csdn.net/qq_33862644/article/details/79292770

16、pkill -9 -t tty //根据tty,T用户,先拿w看一下在T用户

16、pstree//以树状图展示进程之间的关系

http://man.linuxde.net/pstree

http://blog.csdn.net/qq_33862644/article/details/79292770

17、帮助指令

 > man ls //和vi编辑器似的,进入之后直接输入 要查询的指令 回车就ok,按n进入下一个,按shift上一个(man的级别:6分钟开始)

 > man -f 命令 //某个指令都有哪些帮助级别

 > man -k 命令 //和这个命令所有有关的帮助

18、其他帮助

 >ls --help //中文的帮助

19、shell //内部命令帮助(4分钟开始

20、nice //修改进程的优先级(不能修改已存在的进程)

21、renice //修改进程的优先级(可以修改已存在的进程)

22、& //放入后台

23、ctrl + z //*放在后台暂停

功能:将一个正在前台执行的命令放到后台,并且处于暂停状态

24、jobs //*查看后台中执行的任务

 jobs -l选项可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。

注意:如果装了2个php,一定要在当前使用的php下面执行(如 /www/php/bin/php),否则  555555555555555

那工作号,不是pe的命令,写错了 是ps -aux执行令的pid

25、kill -9 工作号   #*结束后台任务的进程(会显示已杀死,并不立即消失。等一会自己在用jobs查看)

25、fg %工作号 //*将后台暂停的工作,恢复到前台继续运行

    如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。

26、bg %工作号 //*将后台暂停的工作,恢复到后台继续运行

如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行

27、logout //退出当前终端

28、vmstat //监控系统资源

29、free -m //*以兆来查看内存使用情况

实际上来说,程序占用真正内存就是:- buffers/cached 的数值。

    所以看系统,真正已经用的内存数:used-(buffers+cached)的值。

                真正未用到的内存数:free+buffers+cached  的值。

30、uptime //查看cpu的平均负载

31、lsof | more //所有进程调用的文件

*32、pidstat - 监控并统计Linux进程的数据(如 i/o的读写)

 yum install sysstat -y   //安装

> pidstat -d -p 8472  //查看某个进程的i/o读写,注意:这个pid是用pidstat查看到的,看mysqld

参考:https://www.linuxidc.com/Linux/2014-11/109609.htm

定时任务

指令请参考:http://blog.csdn.net/shenlingsuifeng/article/details/50888061

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容    
crontab -r //删除没个用户的cron服务    
crontab -e //编辑某个用户的cron服务
crontab -l -u root //查询root用户下都啥定时任务

 

案例:定时访问某个url

 

查看crontab定时任务工具是否开启,请参考:http://www.bubuko.com/infodetail-2234008.html

 

//也可以用这个代码,做测试。注意:上级目录是否有权限
$content = "时间:".date('Y-m-d H:i:s',time()).PHP_EOL;
file_put_contents('/home/wwwroot/xg_test/time.txt',$content,FILE_APPEND);

shell

 

 

管道和重导向|、>、>>、<

  重导向就是使命令改变它所认定的标准输出

 “>”可将结果输出到文件中,该文件原有内容会被删除(相当于覆盖),

 “>>”则将结果附加到文件中,原文件内容不会被删除(相当于追加)。

  “<”可以改变标准输入(输入重定向)一般导入文件用,如 软件升级包。

 如: cat data1.txt>>data2.txt(将data1.txt文件的内容加在data2.txt文件的后面)  


  管道“|”可将命令的结果输出给另一个命令作为输入之用(相当于 | 前面的结果,当做 | 后面的输入):  
  man mtools|grep mbadblocks (在mtools的帮助中搜索包含“mbadblocks”的句子)  

  man mtools|less(把输出用管道导入到一个叫做 less 的工具。less 是一个分页工具,它允许你一页一页地查看信息。)

 

连接符号:“;” 

  当有几个命令要连续执行时,我们可以把它们放在一行内(在1行内执行多个命令),中间用“;”分开。  
  mkdir myfile;cp /tmp/myfile.txt myfile(先建立一个目录myfile,然后把myfile.txt拷贝到新建的目录中) 

 

 

&& 和 ||

注意:||的短路效果 

示例:

 

 

() 命令组合

 语法格式如下:(command1;command2[;command3...])

 shell 提供了两种方法(() 和 {})实现将几个命令合作一起执行代替独立执行。这种方式并不能控制命令是否需要执行,仅是将多个单独的命令组合在一起执行,最终命令的返回值将由最后一条命令的返回值来决定。 


1 一条命令需要独占一个物理行,如果需要将多条命令放在同一行,命令之间使用命令分隔符(;)分隔。

执行的效果等同于多个独立的命令单独执行的效果。 
2 () 表示在当前 shell 中将多个命令作为一个整体执行。需要注意的是,使用 () 括起来的命令在执行前面都不会切换当前工作目录,也就是说命令组合都是在当前工作目录下被执行的,尽管命令中有切换目录的命令。 
3 命令组合常和命令执行控制结合起来使用。 
 
示例 4 
malihou@ubuntu:~$ rm ~/Desktop/1.txt || (cd ~/Desktop/;ls -a;echo "fail") 
 
在示例 4 中,如果目录 ~/Desktop 下不存在文件 1.txt,则执行命令组合。

 

通配符 ? * [] [-] [^]

其他特殊符号

 

------------------------------------------------------------------------------------------------------------

 

 

 

 

 

文件系统

1、mount //挂载

2、umount //卸载

3、fsck //检查并且试图修复文件系统中的错误  http://man.linuxde.net/fsck

4、ulimit -n 1024   //文件描述符。默认可以同时打开1024个文件。*临时修改的话,将该配置写入到/etc/profile中

https://blog.csdn.net/shaobingj126/article/details/7194393/   #*使用ulimit设置文件最大打开数

 

系统

3、shutdown -h //关机

4、># poweroff  //关机(关机了开机就没法开)

5、reboot //重启(要小心点,服务器好多人一起用))

6、># shutdown [选项]时间(源慕课7-1)

选项:-c //取消前一个操作命令

-h    //关机(不能关)

-r   //重启

7、>#exit //退出登录

 

 

 

网络应用

1、curl    //http的上传和下载  http://www.cnblogs.com/duhuo/p/5695256.html

2、telnet  //远程登录服务器的命令(同ssh)http://www.cnblogs.com/peida/archive/2013/03/13/2956992.html

3、mail //发邮件指令

4、elinks //纯文本界面的www浏览器http://man.linuxde.net/elinks

5、host //域名查询(测试域名是否正常工作)http://man.linuxde.net/host

 

常用工具

6、ssh //远程登录服务器的命令http://os.51cto.com/art/201205/335402.htm

7、screen //切换屏幕的(init3切换到命令行init5切换到图形界面)http://man.linuxde.net/screen

10、who //当前登录的用户信息

9、date //设置系统时间日期http://man.linuxde.net/date

软件包管理

10、apt-get //乌班图安装软件http://www.cnblogs.com/274914765qq/p/4568291.html

安全

c安全ontos7指令

1、防火墙:

*工具一:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

systemctl start firewalld.service #开启防火墙

注意:关闭防火墙后就不安全,正确的做法是,外部需要访问哪个端口,就开放哪个端口

*工具2:

service iptables stop //临时关闭

service iptables start //临时开启

service iptables status //状态

 

2、服务器被攻击,用lastb指令查看;

解决方法:直接改ssh的默认登录端口;改 登录名;禁止各个软件的root账户登录

在linux系统中,last与lastb命令用来列出目前与过去登录系统的用户相关信息。指令英文原义:

last, lastb - show listing of last logged in users

单独执行last指令时,它会读取位于/var/log/wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。

单独执行lastb指令,它会读取位于/var/log/btmp的文件,并把该文件内容记录的登入系统失败的用户名单,全部显示出来。

第一列信息:用户名,或者显示reboot(启动或者重启操作在这里会记录成reboot)

第二列信息:终端位置,pts/0 (伪终端或虚拟终端) 意味着从诸如SSH或telnet的远程连接的用户。

                 tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户,如果是启动或者重启操作,这里会显示成system boot

第三列信息:登录ip或者内核,如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。

                  也有在状态中显示内核版本的信息,笔者猜测这些记录应该是属于系统的操作,如开机,关机,重启等操作

第四列信息:开始时间,其中的日期格式为date +"%a %b %d"

第五列信息:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)

第六列信息:持续时间

================================================================================

last命令的参数补充说明(以下参数同样合适lastb命令):

参    数:-a 把从何处登入系统的主机名称或IP地址,显示在最后一行;

     -d 将IP地址转换成主机名称。当用户从远端而非本地主机登入系统时,所记录的将不仅是主机名称,还包括该远端主机的IP地址。

                    默认情况下会用IP地址来显示远端的主机,使用这项参数可将其换成主机名称;

     -f 指定记录文件。预设last指令会去读取/var/log目录里的btmp文件;

     -n 设置列出名单的显示列数,如果你只想查询最后登入系统的10位用户名称,可将显示列数设成"10",

                   想查询最后的30位用户,则设为"30",依此类推;

     -R 不显示登入系统的主机名称或IP地址;

               -x 可显示系统关机、重新开机,以及执行等级的改变等信息。

VIM编辑器

客户端xshell连接linux中vim不能正常使用小键盘的问题

    xshell:文件--属性(properties)->(终端)Terminal中的(终端类型)Terminal Type 修改为linux 或者ansi就可以正常使用小键盘了。---记住一定要重新打开窗口进入,才能生效

 

1)命令模式-->编辑模式切换(插入/insert)

    a "光标"向后移动一位

    i "光标"和"内容"没有变化

    o "新"起一个空白行

    s "删除"光标所在字符

    

    2)尾行模式作用(和命令模式一样,都需要先按下esc)

    :q      quit退出编辑器

    :wq     write quit 保存并退出

    :w      write 保存

    :q!     强制退出(不保存)

    :w!     强制写保存

    :wq!    强制保存退出

 

    :set number 或 set nu           //给编辑器设置行号

    :set nonumber 或 set nonu       //取消行号设置

 

    :数字  //光标跳转到数字所在行

 

    //内容替换 "cont1"被替换为"cont2"

    :s/cont1/cont2/         //把光标所在行的"第一个"cont1替换为cont2

    :s/cont1/cont2/g        //把光标"所在行"的全部cont1替换为cont2

    :%s/cont1/cont2/g       //把"整个文档"中的全部cont1替换为cont2

    3)命令模式操作

        ① 光标移动

        a.字符级

            上(k)  下(j)  左(h)  右(l)键

        b.单词级

            w  word下个单词首字母

            e  end下(本)个单词尾字母

            b  before上(本)个单词首字母

        c.行级

            $ 行尾

            0 行首

        d.段落级(两部分内容中间有空行,彼此成为段落)

    shift + {  上  //(本)个段落首部

                }  下         //(本)个段落尾部

        e.屏幕级(不给翻屏)

            h  屏幕首部

            l  屏幕尾部

        f.文档级

            G   文档尾行

            :1  或 gg 跳转到文档第一行

            6gg  跳转到第6行(先按个6 在按gg)

        ② 内容删除

            dd      删除光标所在行

            n+dd    包括当前行在内向下删除n行内容

            x       字符级删除,删除光标所在字符

            cw      光标所在字符删除至单词结尾(是删除单词的便捷方式)

                    同时会进入编辑模式

        ③ 内容复制

            yy      复制光标所在行

            n+yy    包括当前行在内向下复制n行内容

            p       对复制(删除)好的内容进行粘贴操作

        ④ 便捷操作

            /要搜索的字符串         //在文档首 向下搜索,小写n(next)下一个;大写N(功能和向上搜索差不多)

    ?要搜索的字符串        //在文档尾 向上搜索

            u      // undo撤销,从文件打开后的所有操作都可以撤销

            .(点)       //重复执行"最近"的一条指令

            ZZ      //直接退出

            :%s#no#yes#g  //将no替换成yes,速记是冒号百分号sg,然后中间加3个#

批量添加注释:

按ctrl + v,显示这个(在按下这个就没了)

用下键进行选择,选择好后

shift + i 进入(编辑模式)

输入#号

按esc,就ok了

批量删除注释:

按ctrl + v

用下键进行选择,选择好后

按d(delete),就ok了

shell

 

1、永久别名

> vim ~ .bashrc #写入环境变量配置文件(家目录下的一个隐藏文件)

语法:alias 别名='真实命令名'

 

命令生效的顺序:绝对路径/相对路径 > 别名 > bash内部命令 > $PATH目录中的命令

注意:除非是想覆盖系统中的指令,否则别名不要和系统中的重名

2、source 要重载的配置文件  //如果不用该指令,那么就要重启

3、history //查看历史命令

 

选项:-c #清空历史命令 -w #把缓存中的历史命令写入到文件家目录下的隐藏文件.bash_history中(每个用户保存的不同)

注意:.bash_history中保存的文件和直接输入history命令看到的不一样,因为.bash_history中保存的文件是我上次登录,正确注销后保存的。加-w是强制写入

历史命令默认保存1000条,如需修改,可在环境变量配置文件/etc/profile中修改

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值