一定要知道的,那些Linux基本操作命令(一)

目录

1.文件和目录操作命令

2.用户和用户组操作命令

3.vim编辑器操作命令

4.打包和解压操作命令

5.系统操作命令

为什么要学习linux?

1.linux是一款操作系统

2.linux经常来作为服务器操作系统来用

作用:

1.查看日志(任何操作的日志)

2.定位bug(查看日志,日志级别:info/debug/error....)

3.搭建环境(搭建测试环境)

以上三条就是测试人员会在工作经常要用的三点

需要的软件

1.CENTOS 6.8----linux操作系统

2.Xshell 5---远程连接工具

其它还有PYTT secureCRT

3.winSCP---windows与linux传输工具

文件和目录操作命令

1.linux终端共有6个,分别tty1---tty6 通过ctrl + alt+F1~F6进行切换

2.[root@localhost ~]# 后光标闪烁表示可以执行命令/编辑

root===表示当前登录的用户名

@----表示在

localhost---主机域名

~ ---- 表示root用户的家目录

root用户的家目录路径:/root

普通用户的家目录 ~

普通用户的家目录 /home/普通用户的用户名目录

# ---- 表示是root $ ---表示是普通用户

3.快捷键

ctrl+c 终止当前命令

ctrl+l 清屏

ctrl+D =exit 当前用户退出

ctrl+z 暂停当前命令 fg---恢复执行

TAB键----自动补全

如果输入的字符串是唯一的,单击tab键就会自动补全

如果输入的字符串不是唯一的,双击tab键显示所有以输入的字符开头的目录或文件

linux命令一样的可以自动补全

注意点:自动补全只补全当前目录下存在的目录或文件名称

4.目录

/----表示根目录

常用目录

/home 普通用户的家目录

/root 是root用户的家目录

不管是普通用户还是root

登录成功后,所在位置都是在各自的家目录下

/etc 配置文件位置(用户、密码、服务的配置文件等)

/opt 保存第三方软件安装位置

/usr/local 安装第三方软件的位置

/tmp 临时文件,自动清空

不管是存放软件包或者文件时,都去新建相应的目录,最好是当前登录用户家目录下面,不要随意删除别人的文件

5.绝对路径和相对路径

什么是绝对路径?什么是相对路径?

绝对路径是从根目录开始的完整路径

相对路径是从当前位置(用户所在的路径位置)开始的路径

. 表示当前目录

.. 表示上一级目录

pwd

pwd --查看当前位置的路径(是从根目录开始)

cd

cd ----切换目录

ls

1.ls ---list---显示当前目录或指定目录下文件和目录

经常使用的选项:

ls -l ==ll ---查看当前目录下的文件和目录,以较长格式显示文件和目录

显示格式讲解:

第一个 -/d/l 表示文件类型

- 二进制文件 d 目录 l 软链接

第二个部分 rwxrwxrwx 表示各类用户的权限

r -read 读权限 w-wirte 写权限 x ---执行权限

r-x 表示只有读和执行权限

rwx rwx rwx

第一个rwx表示文件或目录所属用户的权限

第二个rwx表示文件或目录所属组的权限

第三个rwx表示文件或目录其他用户的权限

第三个部分 root 表示文件或目录所属用户的用户名

第四个部分 root 表示文件或目录所属组的组名

第五个部分 12288 表示文件或目录的大小

第六个部分 Feb 25 18:41 表示文件或目录的最后修改时间

第七个部分 文件或目录的名称

2.ls -a ==ls --all 查看当前目录下的所有文件和目录,包括隐藏文件

3.ls -h 表示以容易理解的格式显示文件的大小, 必须与-l一起使用,才能有所体现

4.ls -i 显示文件和目录的i节点

每一个文件和目录的i节点都是唯一的,我们可以通过i节点来查找文件和目录

mkdir

mkdir --创建新目录

格式:mkdir [-p] 路径/新目录名

1.在当前目录下创建新目录

2.在指定的目录下创建新目录

3.-p, --parents no error if existing, make parent directories as needed ---递归创建目录

rmdir

rmdir ---删除空目录

1.如果是目录是非空,不能删除

[root@localhost cc]# rmdir test/

rmdir: failed to remove `test/': Directory not empty'

2.不能删除非目录

[root@localhost ~]# rmdir install.log

rmdir: failed to remove `install.log': Not a directory'

rm

rm ---删除文件和目录

用法:rm [选项]... 文件...

不管是文件还是目录,经常使用就是

rm -rf 要删除的东西(可以是多个,中间用空格隔开)

[root@localhost tmp]# rm -rf cc test yum.log

rm -rf *---删除当前目录下所有文件和目录

rm -rf te*--删除以te开头的所有文件和目录

删除以.1og结尾的内容:rm -rf *.log

使用rm命令时,一定确保这个文件和目录确定要删除,在liunx系统里面删除是不可逆的,没有回收站

1.删除文件

[root@localhost tmp]# rm ifcfg-eth0

rm:是否删除普通文件 "ifcfg-eth0"?y

[root@localhost tmp]# rm -f test.log --删除不询问

2.删除目录--- -r 同时会询问是否删除

[root@localhost test_dir]# rm -r test/

rm: descend into directory `test'? y

rm: remove directory `test/testt'? y

rm: remove directory `test'? y'

3.如果不想在删除过程一直有询问,可以使用

-f---强制删除(需要更加谨慎) force

[root@localhost test_dir]# rm -rf test/

强制删除,并且没有询问

如果有些文件使用rm 不能删除,我们也可以加上-f,同样的含义强制删除,并且没有询问

cp

cp --复制文件或目录

用法:cp [选项] 原文件或目录 目标目录

语法:cp -rp [原文件或目录][目标目录]

1.复制文件:

[root@localhost test_dir]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/test

[root@localhost test_dir]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 ..

[root@localhost test_dir]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp

2.-p 保留原文件或目录的属性,属性就是ls -l所展示的东西

[root@localhost tmp]# cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp

3.-r 复制目录

[root@localhost tmp]# cp -r ./test_dir/test .

结论:cp 复制文件或目录,复制成功后,原文件或目录还存在

在复制的过程中,还可以改名

mv

mv与cp 最大的区别就是一个不保留原文件,一个保留原文件

1.剪切--不改名

[root@localhost test_dir]# mv ../ifcfg-eth0 .

2.剪切-改名

[root@localhost tmp]# mv test_dir/ifcfg-eth0 ./test.log

3.改名

[root@localhost test_dir]# mv test tests

作用:用来备份

场景:放了一个lib文件运行,开发说你替换一下lib文件

但是我们保证开发的lib的文件就是OK ,那这种情况最好备份

mv chaa.lib chaa.lib.bak

touch

touch -创建空文件

[root@localhost test]# touch test.log

这个命令不经常用,创建文件是vim编辑器

cat

cat 显示文件内容

[root@localhost test]# cat yum.conf

一次性将文件内容完全展示出来,并且退出

从而可得出cat不适合查看文件很大的文件,cat只适合于查看文件内容偏小的文件

tac

tac 倒着显示文件内容

[root@localhost test]# tac test.log

适合查看文件内容偏小的,并且将最一行显示在最前面

more

more 分页显示文件的内容

空格或f 向下翻页

enter键 换行(一行一行的显示)

同时在页面最下方的位置显示文件显示的当前进度

q或Q 退出

缺点:只能向下翻页,不能向上查看

less

less 分页显示文件的内容(向上翻页)

空格或f 向下翻页

enter键 换行

q或Q 退出

pgup/pgdn 向上/向下一页一页切换

方向键 向上/向下一行一行切换

在文件中查找指定字符串时:

1.先输入 /

2.在/后面输入要查找的指定字符串

比如:/error

3.回车

目前显示的一个指定字符串是从当前位置查找到的第一个,

可以按“n”继续向下查找其它的

此方法经常用于在日志定位问题,或在修改文件要修改指定内容

less是显示文件内容命令中用得最多的

head

head --显示文件前面几行

1.在不跟任何选项和参数时,默认显示文件的前十行

[root@localhost test]# head services.log

2.只显示文件的前面5行(行数前的-很重要)

[root@localhost test]# head -5 services.log

tail

tail 显示文件最后的几行

1.默认显示文件的最后十行

[root@localhost test]# tail test.log

2.只显示文件的最后三行 -n

[root@localhost test]# tail -3 test.log

==[root@localhost test]# tail -n 3 test.log

3.-f 动态显示文件的最后几行(经常用)

tail -400f XX.log

动态就是显示文件新增的内容

用于场景:主要用于实时动态显示操作日志

同样是用于定位bug

chmod

chmod -改变文件或目录的权限(读写执行)

rw- r-- r--

user group other

所有者 所有组 其它人

+ 增加 - 删除 = 等于

1.将文件的写权限删除

[root@localhost test]# chmod u-w test.log

2.给所有组增加执行的权限

[root@localhost test]# chmod g+x test.log

3.给其它人赋于读写执行的权限

[root@localhost test]# chmod o=rwx test.log

4.错误方式

chmod u=rw o=r test.log

这种方式不行,不能同时修改所有者、所有组和其它人的权限

以上根据用户来+-=三种方式来修改权限,显得过于麻烦

解决方法:

r=4 w=2 x=1

4+2+1=7 用7这一个数字来代表所有权限

1.给所有者赋读写权限,所有组为读执行权限 其它人赋读权限

[root@localhost test]# chmod 654 test.log

通过数字的方式同时修改不同用户的权限

2.给所有用户都赋于读写权限6

[root@localhost test]# chmod 666 test.log

目前更改权限最简便的方法,也是最常用的

3.给目录赋权

[root@localhost test]# chmod 764 test12/

同时在文件或目录前可以加上绝对路径或相对路径

4.-R 递归修改文件或目录的权限(经常使用)

[root@localhost test]# chmod -R 644 ./test12/test

是同时将目录下面所有的文件和子目录中内容权限一并修改

chmod root和普通用户都有权限

chown

chown 改变文件的所有者(经常使用)

1.改变test_dir.log文件的所有者为root

[root@localhost test]# chown root test_dir.log

2.普通用户改变log.log的所有者

[test@localhost ~]$ chown test log.log

chown: changing ownership of `log.log': Operation not permitted'

chown普通用户是没权限进行操作这个命令,只有root才有权限去改变文件或目录的所有者

chgrp

chgrp 改变文件和目录的所有组

[root@localhost test]# chgrp test test

但是这个命令我们一般不用,因为很少会去只改变文件和目录的所有组

如果要改变所有组,一般会同时改变所有者和所有组

如果是同时改变所有者和所有组,可以用chown

经常使用的方式

[root@localhost test]# chown wq:wq test

umask

umask ---显示文件和目录的默认权限

775/755 创建一个目录

664/644 创建一个文件

022 umask---取反--755

7-0=7 7-2=5 7-2=5

代表一个目录初始的权限为755,一个文件的初始权限为644(文件没有可执行权限)

find

find ---文件搜索

格式:find [搜索范围][匹配条件]

1.根据name来搜索(经常用)

a.精确搜索

[root@localhost test]# find /etc -name services

b.模糊搜索init开头的文件和目录

[root@localhost test]# find /etc -name init*

c.模糊搜索init结尾的文件和目录

[root@localhost test]# find /etc -name *init

d.模糊搜索包含init的文件和目录

[root@localhost test]# find /etc -name *init*

e.模糊搜索以init开头的后面只有三个字符串的文件或目录

* 代表一组字符串

? 代表一个字符

[root@localhost test]# find /etc -name init???

linux对大小很敏感,而且空格也敏感

[root@localhost test]# find /etc -name INIT???

f.根据name搜索时,不区分大小写用选项 -iname

[root@localhost test]# find /etc -iname INIT???

/etc/inittab

[root@localhost test]# find /etc -name INIT???

没有搜索出任何数据

2.根据文件大小搜索

a.大于4096的文件 +4096

[root@localhost test]# find /etc -size +4096

b.小于4096的文件 -4096

[root@localhost test]# find /etc -size -4096

c.等于4096的文件

[root@localhost test]# find /etc -size 4096

d.大于4096同时小于641020的文件 -a

[root@localhost test]# find /etc -size +4096 -a -size -641020

e.大于4096或者小于641020的文件

[root@localhost test]# find /etc -size +4096 -o -size -641020

3.根据文件所有者去搜索

[root@localhost test]# find /home/test -user test

[root@localhost test]# find -user test

如果不写搜索范围,默认搜索从当前目录开始,搜索下面匹配的文件和目录

4.根据文件属性搜索

a.搜索5分钟之内内容被修改的文件

[root@localhost test]# find . -mmin -5

文件内容被修改的同时,文件属性也会被修改

b.搜索3分钟之内文件属性被修改的文件

[root@localhost test]# find . -cmin -3

amin cmin mmin后面接分钟

atime ctime mtime后面接小时

5.根据文件类型来搜索

- 二进制文件f d 目录 l 软链接

1.搜索目录---文件类型为d

[root@localhost test]# find . -type d

2.搜索当前目录下文件类型为文件 f

[root@localhost test]# find . -type - ---错误

find: -type 的参数未知: -

[root@localhost test]# find . -type f ---正确

3.搜索当前目录下的文件类型为软链接 l

[root@localhost test]# find . -type l

4.在根目录下搜索文件名称为services的文件

[root@localhost test]# find / -name services -type f

grep

grep --搜索文件的内容

1.搜索test.log这个文件中包含qwer字符串的行

[root@localhost test]# grep qwer ./test.log

2.不区分大小写进行搜索 选项 -i

[root@localhost test]# grep -i test test.log

3.搜索不包含123的文件内容

[root@localhost test]# grep -v 123 test.log

4.搜索不包含test的文件内容,不区分大小写

[root@localhost test]# grep -iv test test.log

5.搜索不是以1开头的文件内容

[root@localhost test]# grep -v ^1 test.log

6.搜索以1开头的行

[root@localhost test]# grep ^1 test.log

^ 表示以什么开头

在shell脚本 #表示注释

7.屏蔽掉注释行 --

[root@localhost test]# grep -v ^# sysctl.conf

8.经常使用的一种方法---管道 |

[root@localhost test]# ps -ef |grep java

ps -ef 查询进程

|管道符 command1 | command2

将command1的输出作为command2的输入

[root@localhost test]# ls -l |grep test

ln

ln --链接命令

链接分为软链接和硬链接

1.给目录创建软链接 -s

[root@localhost tmp]# ln -s /tmp/test/test12/test ./test1

lrwxrwxrwx. 1 root root 21 Apr 14 21:06 test1 -> /tmp/test/test12/test

软链接的大小非常小,只是一个链接

软链接相当于windows下面的快捷方式

2.给文件创建软链接

[root@localhost tmp]# ln -s /tmp/test/test12/test/tw.log .

软链接的目标文件和原文件的i节点不同

3.给文件创建一个硬链接

[root@localhost tmp]# ln /tmp/test/test12/test/tw.log ./tw1.log

硬链接的i节点相同

[root@localhost tmp]# ln /tmp/test/test12/test ./test_dir

ln: `/tmp/test/test12/test': hard link not allowed for directory'

硬链接不能针对目录使用,只能对文件使用

未完待续,期待下节

原文发布于微信公众号 - 资深Tester(zishentester)

原文发表时间:2017-11-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零学习云计算

openshift/origin学习记录(3)——添加Registry

学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。 本部分是在openshift/orig...

2140
来自专栏landv

robocopy的用法,数据库局域网备份

1875
来自专栏小白安全

小白博客 EMLOG启用HTTPS访问详细教程

https支持已集成到Emlog 6.0,以下内容仅适用于Emlog 5.x用户,在进行修改之前,请先确定服务器已正确配置https,并且备份所有文件,防止遇...

4007
来自专栏Web项目聚集地

Linux养成计划(四)

Linux系统会内建 vi 文本编辑器,Vim具有程序编程的能力,可以看作是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计、补充代码、编译及...

651
来自专栏专注研发

HDFS的WEB页面访问常见问题

本文基于HADOOP-3..1.0,Cecntos7.0环境下进行测试,所以遇到很多新鲜的问题;

2021
来自专栏IT & Cloud

通过Windows Server代理实现公网访问CDB for SQL Server

3.CDB for SQL Server和Windows Server在同一VPC下

22610
来自专栏晓晨的专栏

Centos7 初始化硬盘分区、挂载

2304
来自专栏桥路_大数据

nginx的安装和打点服务器配置

42711
来自专栏互扯程序

玩转linux 这些命令就够了

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

852
来自专栏后台及大数据开发

Linux巩固记录(9) keepalived+nginx搭建高可用负载分发环境

web 192.168.2.100 再iis上启动了9011/9012/9013三个端口的web应用

801

扫码关注云+社区