CentOS7常用命令一

 

目录

 

一、SecureCRT相关知识

二、vim常用知识

三、关机/重启命令

四、用户/用户组管理

1,用户管理

1.1,添加用户

1.2,指定/修改密码

1.3,删除用户

1.4,查询用户信息

1.5,切换用户

1.6,查看当前登陆的账户

2,用户组

2.1,增加组

2.2,删除组

2.3,增加用户属于测试组

2.4,修改用户组

3,用户配置文件/组配置文件存放位置

五、实用操作

1,指令运行级别

2,帮助指令

3,文件目录类

3.1,pwd指令

3.2,ls指令

3.3,cd指令

3.4,创建目录mkdir

3.5,删除目录rmdir

3.6,创建空文件touch

3.7,拷贝cp

3.8,移除文件或目录rm

3.9,移动文件或重命名mv

3.10,查看文件内容cat

3.11,more查看文件指令

3.12,less指令

3.13,>和>>指令

3.14,echo head tail

3.15ln软链接

3.16history查找命令历史记录

4,时间日期类

4.1,date指令-显示当前日期

4.2,date指令-设置当前时间

4.3,cal查看日历

5,搜索查找类

5.1,find查找

5.2,locate快速定位文件路径

5.3,grep指令和管道符号|

6,压缩和解压缩

6.1,gzip/gunzip(用的不多)

6.2,zip/unzip

6.3tar打包指令

7,组管理和权限管理

7.1组基本介绍

7.2文件/目录的所有者

7.3文件/目录所在组

7.4改变用户所在组

7.5权限详解

7.6修改权限chmod

7.7修改文件所有者chown

7.8修改文件所在组chgrp

7.9权限最佳实践-警察和土匪游戏

8,任务调度

8.1crond任务调度

8.2查看所有的任务调度

Linux下修改文件产生.swap文件错误

Linux中~与/的区别


一、SecureCRT相关知识

SecureCRT上传文件到服务器:https://blog.csdn.net/youran66666/article/details/51556650

在Windows用SecureCRT上传下载命令:rz\sz

在Windows用SecureCRT上传下载命令(存在则覆盖):cunrz -y

rz相关命令介绍:http://www.cnblogs.com/leeyongbard/p/9356760.html

  • 查看远程端口是否开启

在远程机上输入setup,选择系统服务

带*号表示已经启动

 

 

解压:tar -zcvf /home/zdzlibs.tar.gz /home/zdz/java/zdzlibs/

文件名快速填充:cd my+tap键 就会列出以my开头的文件

删除文件:rm -f 文件名

编辑文件:vim 文件名

i进行输入模式,强制退出保存  先按ESC再输入 :wq!

查看是否有gcc环境:gcc -v

 

二、vim常用知识

vim常用命令

1,删除
dd:  剪切光标所在的一整行
ndd:删除光标向下的n行

2,复制
yy:复制当前光标一整行
nyy:复制当前光标n行
p:粘贴

3,搜索内容
:/搜索内容        可以快速搜索打开的文本内容内容

4,设置/取消行号
:set nu和:set nonu

5,到大文件末端和顶端
在正常模式下,输入G到达底端,输入gg到达顶端

6,撤销
在正常模式下,输入u撤销

7,光标移动到第20行
第一步:显示行号    :set nu
第二步:输入20
第三步:输入shift+g

三、关机/重启命令

shutdown
    shutdown -h now:表示立即关机
    shutdown -h 1:表示1分钟后关机
    shutdown -r now:立即重启
halt
    直接使用,等价于关机
reboot
    就是重启系统
sync
    把内存的数据同步到磁盘

重启命令推荐使用shutdown -r now,这条命令在重启时会正常保存和中止服务器正在运行的程序,
是安全重启命令。而且最好在重启前执行几次“sync”命令,这条命令是数据同步命令,
把暂时保存在内存的数据写入磁盘,防止数据丢失。

用户登陆和注销

尽量少用root登陆

退出登陆:logout(此命令在图形界面无效)

服务器建议

不要再服务器访问高峰运行高负载命令

比如复制大量的数据、压缩或者解压缩大文件、大范围的硬盘搜索等都会有较大的运算压力。

一般认为17:00-24:00是访问高峰期。凌晨4:00-5:00可以执行这些命令。

远程配置防火墙不要把自己踢出服务器

最好在本地测试完善后再进行上传。虽然本地测试好了但是传到服务器上时仍有可能发生问题。可以采用一个笨的办法:如果需要远程配置防火墙,那么先写一个系统定时任务,让它每5分钟清空一下防火墙规则,就算写错了也有反悔的机会,等测试没问题了再删除这个定时任务。

合理分配权限

管理一个最简单原则:给予用户最小的权限。

定期备份重要数据和日志

备份的基本原则:不要把鸡蛋放在同一个篮子里

四、用户/用户组管理

1,用户管理

Linux系统是多用户多任务的操作系统。

1.1,添加用户

useradd xm            //这种方式默认创建一个xm的账号,并创建一个xm的分组,并且xm账号属于xm分组

useradd -d /home/manager zhangsan      //创建张三,并且家目录在/home/manager文件夹里

创建用户的时候,会在家目录下生成模板文件,模板在/etc/skel/目录下

 1.1.1useradd默认值

useradd添加用户的参数默认值主要是/etc/default/useradd和/etc/login.defs

1.2,指定/修改密码

passwd zhangsan                                    //给张三设置密码

用zhangsan的账号登陆可以看到当前的家目录为/home/manager

1.3,删除用户

userdel 用户名

userdel xm//删除xm的账号,但是家目录保留

userdel -r xiaoming//删除xiaoming账号,并且删除家目录

一般在删除用户时候会保留家目录(比如一个员工离职了,在家目录下面有很多源代码的情况)

手工删除用户:

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

/home/user1

/var/spool/mail/user1  邮箱

1.4,查询用户信息

id 用户名

1.5,切换用户

当用户权限不够时,可以通过su 切换到高用户

su - 用户名//当高权限用户到低权限用户,不用输入密码

 这时候想要进入root目录就会权限不够,exit可以回到原来的用户

1.6,查看当前登陆的账户

whoami

2,用户组

2.1,增加组

groupadd 组名

2.2,删除组

groupdel 组名

2.3,增加用户属于测试组

groupadd test//先增加测试组

useradd -g test xiaoliu//增加用户xiaoliu属于test组

2.4,修改用户组

usermod -g 用户组 用户名

例如将xiaoliu修改为kaifa组

3,用户配置文件/组配置文件存放位置

用户配置文件:/etc/passwd

组配置文件:/etc/group

口令配置文件(密码和登陆信息,是加密的):/etc/shadow

密码前面如果有感叹号!,则该账户无法登陆

 

五、实用操作

1,指令运行级别

0:关机

1:单用户(找回丢失密码)

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6系统重启

常用运行级别是3和5,系统运行级别的配置文件在/etc/inittab,查看配置文件cat /etc/inittab

init 3//切换到dos状态

init 5//切换到图形界面状态

init 0//关机的另一种方式

面试题

如何找回root密码,如果我们不小心忘记roott密码,怎么找回。

思路:以root身份进入到单用户模式,然后修改root密码

2,帮助指令

man ls //查看ls使用帮助

help ls//查看ls使用帮助

3,文件目录类

3.1,pwd指令

显示当前工作目录的绝对路径

3.2,ls指令

ls [选项] [目录或文件]

常用选项

    -a:显示当前目录所有的文件和目录,包含隐藏文件

     -l:以列表的方式显示信息

3.3,cd指令

cd ~     //回到家目录

cd ..     //回到上一级目录

cd ../../bin   //使用相对路径回到bin目录

3.4,创建目录mkdir

用于创建目录

mkdir [选项] 要创建的目录

常用选项

    -p:创建多级目录(递归创建)

mkdir -p test1/test2      //在当前目录同时创建test1,test2目录

3.5,删除目录rmdir

用于删除目录

rmdir [选项] 要删除的空目录

常用选项

    -p:递归删除目录

如果目录下有内容rmdir无法删除,需要使用rm -rf 来删除非空目录

3.6,创建空文件touch

touch 文件名

也可以一次性创建多个文件

touch test1.txt test2.txt

3.7,拷贝cp

cp [选项 ] source dest

常用选项

    -r:递归复制整个文件夹

cp test1.txt /usr                               //将当前目录下的test1.txt拷贝到/usr目录下

cp test1.txt /usr/test2.txt                 //将当前目录下的test1.txt拷贝到/usr目录下,并更名为test2.txt

\cp -r test1 /usr                               //可以强制覆盖所有

3.8,移除文件或目录rm

rm [选项] 要删除的文件或目录

常用选项

    -r:递归删除整个文件夹

    -f:强制删除不提示

3.9,移动文件或重命名mv

mv 旧的文件名 新的文件名          //重命名

mv /usr/test1 /usr/bin/test2          //移动文件

3.10,查看文件内容cat

cat [选项] 要查看的文件

常用选项

    -n:显示行号

cat -n /etc/profile | more              //more为分页显示,可以按空格换页

3.11,more查看文件指令

more 文件名

一行行看:enter

一页页看:空格

回看上一页:ctrl+b

向下滚动一屏:ctrl+F

离开more:q

3.12,less指令

less用来分屏查看文件内容,功能于more指令类似,但是比more指令更强大。less在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

less 要查看的文件

3.13,>和>>指令

>输出重定向和>>追加

ls -l>file.txt    //列表的内容写入文件file.txt文件中(覆盖写)

ls -l>>file.txt  //列表的内容追加到文件file.txt的末尾

cat file1.txt>file2.txt    //将file1.txt的内容覆盖到file2.txt中

echo "内容">>file3.txt    //将内容追加写入file3.txt中

例子:将日历写入文件

cal>>file3.txt

3.14,echo head tail

echo:输出内容到控制台

echo [选项] [输出内容]

例如:使用echo指令输出环境变量,输出当前的环境路径

echo $PATH

例如:使用echo直接输出文本

echo "hello"

head:用于显示文件的开头部分,默认情况下head指令显示文件的前10行内容

head 文件   //查看文件头10行内容

head -n 5 文件   //查看文件头5行内容

tail:用于输出文件尾部的内容,默认情况下tail指令显示文件的后10行内容。

tail 文件         //查看后10行内容

tail -n 5 文件         //查看文件后5行内容

tail -f 文件             //实时追踪该文档的所有更新(非常好用,工作中经常用

案例:实时监控log.txt,看文件有变化时,是否看到实时的追加日期

3.15ln软链接

软链接也叫符号链接,类似于windows里的快捷方式

ln -s [原文件或目录] [软链接名]

删除软链接

rm -rf linkToRoot

3.16history查找命令历史记录

查看已经执行过历史命令

案例:显示最近的执行的10个指令

history 10

执行指定编号的指令

!900

4,时间日期类

4.1,date指令-显示当前日期

date                                     //显示当前时间

date "+%Y-%m-%d"            //显示年月日

date "+%Y-%m-%d %H:%M:%S"   //显示年月日时分秒

4.2,date指令-设置当前时间

date -s 字符串时间

date -s "2019-01-10 10:10:10"

4.3,cal查看日历

cal [选项]              //不加选项,显示本月日历

cal 2020                //显示1年的日历

5,搜索查找类

5.1,find查找

find将指定目录下递归地遍历其中子目录,将满足条件的文件或者目录显示在终端。

find [搜索范围] [选项]

-name:按文件名搜索

-user:按文件拥有者者查找

-size:按文件大小查询

 

案例1:在/目录下搜索指定文件位置

find / -name iSeez.h

案例2:按拥有者:查找/目录下,用户名为xie的文件

find / -user xie

案例3:按文件大小:查找/usr/local/bin目录下,文件大于20M的(大于+  小于-  等于直接写数字)(很有用,有时候磁盘突然变小,可以查看原因

find /usr/local/bin -size +20M        //大于20M的文件,M大写

find /usr/local/bin -size +2k           //大于2k的文件,k小写

案例4:按文件名通配符查找

find / -name *.txt

5.2,locate快速定位文件路径

locate指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件,locate指令无需遍历整个文件系统,查询速度较块。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

locate 搜索文件

说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库

数据库文件保存在/var/lib/mlocate/mlocate.db文件下,该文件普通用户是无法读取的,因为/usr/bin/locate命令赋予了GID的权限,所以可以用locate命令查看

 

5.3,grep指令和管道符号|

grep过滤查找,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

grep [选项] 查找内容 源文件

常用选项

-n:显示匹配行及行号

-i:忽略字母大小写

案例:在hello.txt文件中,查找“yes”所在行,并且显示行号

cat hello.txt | grep -n yes

案例:在hello.txt文件中,查找“yes”所在行,并且显示行号,并忽略大小写

cat hello.txt | grep -ni yes

6,压缩和解压缩

6.1,gzip/gunzip(用的不多)

gzip用于压缩文件,gunzip用于解压缩

gzip 文件          //只能将文件压缩为*.gz文件,原来的压缩文件不保留

gunzip 文件.gz        //解压缩文件,解压缩文件不保存

6.2,zip/unzip

zip [选项] xxx.zip 将要压缩的内容       //压缩文件和目录的命令

unzip [选项] xxx.zip                             // 解压缩文件

zip常用选项

-r:递归压缩,即为压缩目录

unzip常用选项

-d<目录>:指定解压后文件的存放目录

案例1:将/home下的所有文件进行压缩成myhome.zip

zip -r myhome.zip /home/

案例2:将myhome.zip解压到/usr/local/bin/tmp目录下

unzip -d /usr/local/bin/tmp myhome.zip

6.3tar打包指令

打包后的文件是.tar.gz的文件

tar [选项] xxx.tar.gz 打包的内容           //打包目录

选项

-c:产生.tar打包文件

-v:显示详细信息

-f:指定压缩后的文件名

-z:打包同时压缩

-x:解包.tar文件

案例1:压缩多个文件,将~目录下的test1.txt和test2.txt压缩成test.tar.gz

tar -zcvf test.tar.gz test1.txt test2.txt

案例2:将文件夹下所有东西都打包

tar -zcvf myhome.tar.gz /usr/local/bin/
案例3:将a.tar.gz解压到当前目录

tar -zxvf a.tar.gz

案例4:将a.tar.gz解压到/usr/local目录下

tar -zxvf a.tar.gz -C /usr/local/                          //指定解压到的那个目录,事先要存在才能成功,否在会报错

7,组管理和权限管理

7.1组基本介绍

在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者、所在组、其它组的概念。

7.2文件/目录的所有者

文件的创造者,谁创建了该文件,就成为该文件的所有者。

查看文件的所有者

指令:ls -ahl                      //h即为human

范例:创建一个test组,在创建一个test_zs,将test_zs放在test组里,然后用test_zs来创建文件test.java

useradd -g test test_zs//添加用户

passwd test_zs//设置密码

su - test_zs//切换登陆

touch.java//创建文件

ls -ahl//查看文件所有者

修改文件所有者

指令:chown 用户名 文件名

组的创建

指令:groupadd 组名

范例:创建用户xiaoli属于master组

groupadd master 

useradd -g master xiaoli

7.3文件/目录所在组

当某个用户创建一个文件后,默认这个文件的所在组就是该用户所在的组。

查看文件/目录所在组

指令:ls -ahl

修改文件所在的组

chgrp 组名 文件名

范例:将test.java所在组改为xie

7.4改变用户所在组

用root的管理权限可以改变某个用户所在的组。

指令:usermod -g 组名 用户名

usermod -d 目录名 用户名   //改变该用户登陆的初始目录

范例:修改用户xie为test组

7.5权限详解

rwx作用到文件

r-可读,可以读取,查看

w-可写,可以修改,但是不代表可以删除文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。

x-可以被执行

rwx作用到目录

r-可读,可以用ls查看目录内容

w-可写,可以修改,目录内可以创建+删除+重命名目录

x-可执行,可以进入该目录

7.6修改权限chmod

方式一:+、-、=变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

chmod u=rwx,g=rx,o=x 文件目录名

chmod o+w 文件目录名

chmod a-x 文件目录名

方式二:通过数字变更权限

规则:r=4 w=2 x=1    rwx=4+2+1=7

chmod u=rwx,g=rx,o=x 文件目录名

等价于

chmod 751 文件目录名

7.7修改文件所有者chown

chown newowner file 改变文件的所有者

chown newowner:newgroup file 改变用户的所有者和所有组

-R 如果是目录则使其下所有子文件或目录递归生效

案例1:将test.java文件的所有者修改成test_zs

chown test_zs test.java

案例2:将/test1目录下所有文件和目录的所有者都修改成test_zs

chown -R test_zs test1/

7.8修改文件所在组chgrp

chgrp newgroup file 

案例:将test1目录下所有文件和目录的所有者都改成test组

chgrp -R test test1/

7.9权限最佳实践-警察和土匪游戏

jack,jerry是警察

xh,xq是土匪

1)创建组police、bandit

groupadd police

groupadd bandit

2)创建用户

useradd -g police jack

useradd -g police jerry

useradd -g bandit xh

useradd -g bandit xq

并指定密码passwd jack

3)用jack登陆,创建一个文件,自己可以读写,本组人可以读,其它组没有任何权限

chmod 640 jack01.txt

4)jack修改该文件,让其它组人可以读,本组人可以读写

chmod o=r,g=rw jack01.txt

5)xh投靠警察,看看是否可以读写

xh无法进入jack的家目录

修改xh为police组

usermod -g police xh

此时xh还是没法进入jack的家目录,需要jack改变组的权限

chmod g=rx jack

修改完后,xh的账号需要重新连接就可以进入jack的家目录

8,任务调度

8.1crond任务调度

指令:crontab [选项]

常用选项:

-e:编辑crontab定时任务

-l:查询crontab任务

-r:删除当前用户所有的crontab任务

如果只是简单的任务,可以不写脚本,直接再crontab中加入任务即可

案例:设置任务调度文件:/etc/crontab

设置个人任务调度。执行crontab -e命令。

接着输入任务到调度文件

如:*/1**** ll /etc/>>/tmp/to.tx

任务调度案例1:每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中

1)先编写一个文件/home/mytask1.sh

date>>/tmp/mydate

2)给mytask1.sh一个可以执行的权限

chmod 744 /home/mytask1.sh

3)crontab -e

4)*/1 * * * * /home/mytask1.sh

任务调度案例2:每隔1分钟,将当前日期和日历都追加到/home/mycal文件中

1)先编写一个文件/home/mytask2.sh

date>>/tmp/mycal

cal>>/tmp/mycal

2)给mytask2.sh一个可以执行的权限

chmod 744 /home/mytask2.sh

3)crontab -e

4)*/1 * * * * /home/mytask2.sh

8.2查看所有的任务调度

指令:crontab -l

8.3删除所有的任务调度

指令:crontab -r

 

 

Linux查看当前的进程并过滤

 

Linux下修改文件产生.swap文件错误

在linux里修改文件时,不小心非正常关闭了文件。再次打开的时候提示  E325: 注意发现交换文件 "filename.swp",具体报错如下:

E325: 注意

发现交换文件 ".nginx.conf.swp"

            所有者: root    日期: Fri Jun 23 09:44:19 2017

            文件名: /usr/local/src/nginx-1.1.10/conf/nginx.conf

            修改过: 是

            用户名: root      主机名: demo

           进程 ID: 5168

正在打开文件 "nginx.conf"

              日期: Fri Jun 23 09:57:15 2017

      比交换文件新!

 

(1) 另一个程序可能也在编辑同一个文件。

    如果是这样,修改时请注意避免同一个文件产生两个不同的版本。

    退出,或小心地继续。

(2) 上次编辑此文件时崩溃。

    如果是这样,请用 ":recover" 或 "vim -r nginx.conf"

    恢复修改的内容 (请见 ":help recovery")。

    如果你已经进行了恢复,请删除交换文件 ".nginx.conf.swp"

    以避免再看到此消息。

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

交换文件 ".nginx.conf.swp" 已存在!

原因如下:

在用vim打开一个文件时,其会产生一个cmd.swap文件,用于保存数据,当文件非正常关闭时,可用此文件来恢复,当正常关闭时,此文件会被删除,非正常关闭时,不会被删除,所以提示存在.swap文件。

解决方法如下:

方法1、此时你可以恢复文件:

vim -r nginx.conf

恢复以后把.swap文件删掉,在打开时就不会用提示良,注意.swap文件是个隐藏文件。可用:la查看。以.开头的是隐藏文件。

方法2、ls -a 查询隐藏文件

将后缀名为.swp的文件删除

rm -f .nginx.conf.swp

再次编辑文件不在出现提示警告!

 

 

 

Linux中~与/的区别

/是根节点,~是home

若以root登陆,~是/root/。若以name登陆,~是/home/name

 

Linux top各参数详解

https://www.cnblogs.com/sbaicl/articles/2752068.html

 

Linux目录

/proc、/srv、/sys是linux内核的东西,Linux高手动的文件夹,一般不要轻易乱动

/mnt可以挂载Windows的共享文件夹

/usr/local这是给主机安装软件所安装的目录。一般是通过编译源码方式安装的程序。

更新中

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章