Linux 基础命令(收藏大全)

-----

linux系统文件结构

/ 根目录

/bin 存放必要的命令

/boot 存放内核以及启动所需的文件

/dev 存放设备文件

/etc 存放系统配置文件

/home 普通用户的宿主目录,用户数据存放在其主目录中lib 存放必要 的运行库

/mnt 存放临时的映射文件系统,通常用来挂载使用

/proc 存放存储进程和系统信息

/root 超级用户的主目录

/sbin 存放系统管理程序

/tmp 存放临时文件

/usr 存放应用程序,命令程序文件、程序库、手册和其它文档。

/var 系统默认日志存放目录录

关闭防火墙

systemctl stop firewalld.service

禁止防火墙开机启动

systemctl disable firewalld.service

关闭SELinux

nano -w /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled保存并退出:^x->y->回车

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

命令:ls

-a 这个选项能显示.开头的隐藏文件

-i 显示每个文件的inode号

-m 所有项目以逗号分隔,并填满整行行宽

-R 同时列出所有子目录层

-h 将列出文件的大小以人性化格式输出

--color=tty(2个-号)显示文件的时候以色彩提示

目录 可执行文件 连接文件 一般文件 蓝色 绿色 淡蓝色 白色

查看文件状态修改时间

ls -lc [文件名]

查看文件的访问时间

ls -lu [文件名]

查看文件的最后修改时间

ls -l

显示文件的详细访问时间

ls –full-time

显示本地目录下以” .”开头的文件 ls -d .*

------------ 命令: date 显示系统当前时间

命令格式: date [选项]

-R 按照RFC822文档中的时间格式来实现时间

-r 文件名 显示文件的最后修改日期

-u 显示utc时间(通用时间)

使用date查看过去/将来的时间

1. 查看2045年8月15日是星期几(当前时间为2014-9-27)

date -d "+31year -1 month -12 day"

2. 显示2014年1月1日星期几

date -d “+3month +5day”或#date -d “+4month -26day”

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

命令: hwclock 显示硬件时钟

将系统时钟同步至硬件时钟

hwclock --systohc

将硬件时钟同步至系统时钟

hwclock --hctosys

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

命令: tzselect 功能:设置系统时区

1. 设置当前系统的时区

tzselect

命令: timedatectl 功能:设置系统时间及日期

语法格式:timedatectl [选项] [日期]

示例:

1. 显示各项当前时间

timedatectl

2. 显示系统所支持的时间区域

timedatectl list-timezones

3.设置当前系统的时间区域

timedatectl set-timezone Asia/Shanghai

4. 设置当前系统时间

timedatectl set-time “2014-09-0912:29:30”

5.设置NTP支持

timedatectl set-ntp true

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

命令: mkdir 创建目录

-p 建立多级目录

-m 在建立目录的时候给目录赋于权限值

示例: mkdir -p /name/a/b/c --------

命令: rmdir 删除空目录

-p 删除多级空目录

示例: mkdir -p /name/a/b/c

注意:目录本身一定要是空的

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

命令: rm 删除文件/目录

-i 在删除文件之前需要手工确认

-v 在删除文件的时候显示信息

-r 删除目录 -f 忽略提示

示例: rm -v filename

常用选项: rm -rf 目录名

-----------

命令:cp 复制命令

cp [选项] 文件名(原件) 目的文件名(复印件)

-R 复制整个目录里的内容

-p 复制完后保持目录的权限值

-v 在复制文件的时候显示进度

-f 在复制的时候如果碰到目的文件名有重复就将原先的删除

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

命令: mv 移动文件或目录/修改文件或目录名

命令格式: mv [选项] 源文件 目的路径

-i 如果目的地有相同文件名时会出现提示

-v 在搬移文件时显示进度,在移动多文件时非常有用

-u 当移动时只有源文件比目的文件新的时候才会移动

-f 强制覆盖已有的文件

示例: mv -i 1.jpg /home/2.jpg

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

命令: pwd 显示当前工作路径

-----------

命令:cat 查看文本文件

命令格式: cat [选项] 文件名

-b 显示文件内容的时候显示行数

-n 显示文件内容包括空行

-s 将多个空行合并成一个空行输出

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

命令: more 查看文本文件命令

命令格式: more [选项] 文件名

+行数直接从给定的行数开始显示

-s 将多个空行压缩成一个空行 -p 清除屏幕后再显示

提示: 用more打开一个文件后用空格向下翻页,用b向上翻页

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

命令: nano 功能:文本编辑器

命令格式:nano [选项] [行号] 文件名

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

命令: head 查看文件头部

命令格式:head [选项] 文件

-n <行数> 显示文件的最前指定的行

-c <字节数> 显示文件前N个字节数里的内容

-q 不输出文件头的内容

-v 输出文件头的内容

示例: head -n 15 test.file

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

命令: tail 查看文件尾部

命令格式:tail [选项] 文件

-f 循环读取

-c <字节数> 显示文件前N个字节数里的内容

-q 不输出文件头的内容

-n <行数> 指定所显示的行数

-v 输出文件头的内容

示例: tail -n 15 test.file

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

命令:ln 生成链接文件

命令格式:ln [选项] 源文件 链接文件

-f 删除已存在的目的文件

-i 如果碰到有重复名字的提示如何操作

-v 显示操作信息

-s 软链接选项

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

命令: file 功能:查看文件的类型

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

命令: stat 功能:显示文件或文件系统状态

命令格式:stat [选项] <文件/目录>

-f:查看指定的文件系统

stat可查看:

  1. 文件名 2. 文件尺寸 3. I节点号 4. 创建时间/访问时间/状态(属 主、组、权限)修改时间 5.权限 6.链接文件个数 7. 属主及属组等

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

多命令配合或结果导入、导出符号

“ |” 管道符号

“ >” 输出重定向

“ >>” 输出重定向

“ <” 输入重定向

多命令配合或结果的引用符号

“ ” 双引号

' ' 单引号

反引号 --------------

命令: whereis

特点: 是查找工具中速度最快的一个,但是whereis查找的范围有限, whereis 只能查找2进制程序,文档和源码。

命令: which

which命令是查找工具中速度最快命令之一,但是which查找的范围有限,但是 它可以给用户显示出命令所在的路径

命令格式:which 文件名

-----------

find -size n [c]

查找n值大小的文件,默认单位是块(1块=512字节)

1. 查找大于1500字节的文件

find ~ -size +1500c

2. 查找等于1500字节的文件

find ~ -size 1500c

3. 查找小于1500字节的文件

find ~ -size -1500c

4. 查找大于512k字节的文件

find ~ -size +512k

5. 查找等于1M字节的文件

find ~ -size 1M

6. 查找小于1G字节的文件

find ~ -size -1G

7. 查找大于10块的文件

find ~ -size +10

8. 查找等于10块的文件

find ~ -size -10

9. 查找大于10M小于20M的文件

find ./ -size +10M -size -20M

10. 查找小于10块的文件

find ~ -size -10

11. 查找文件/目录字节为0的文件(即空文件)

find / -empty

-----------

命令: grep

功能: 通过正则表达式查找文件中的关键字

参数:

-i:忽略大小写

-c:打印匹配的行数

-C:打印出匹配的上下文(上N行,下N行)的多少行

-l:列出匹配的文件名

-L:列出不匹配的文件名

-n:打印包含匹配项的行和行标

-w:仅匹配指定的单词而非关键字

-e:索引匹配字串

-r:递归查询

-v:不输出匹配的行

-A <行号>:显示所找的匹配字段,并显示下面指定的行数的信息

-B <行号>:显示所找的匹配字段,并显示上面指定的行数的信息

正则表达式表示方法:

忽略正则表达式中特殊字符的原有含义

^ 匹配正则表达式的开始行

$ 匹配正则表达式的结束行

< 从匹配正则表达式的行开始

> 到匹配正则表达式的行结束

[ ] 单个字符;如[A] 即A符合要求

[ n - m ] 范围 ;如[A-H]即包含A至H都符合要求

. 所有的单个字符

* 所有字符,长度可以为0

---------

命令: egrep

信息: grep的增强版/扩充版(即grep -E)

特点:

1.支持?匹配,即匹配0到1个正则表达式

2.支持+匹配,即匹配1到N个正则表达式

3.支持”或关系”的匹配

4.在查找范围时,可直接用{a,z},而不需要””符号

5.可以被()来包含正则表达式进行分组

6.参数与grep基本通用

示例:

1. 递归且不区分大小写对test字段查找

grep -ri “test” ./

2. 打印匹配”test”关键字有多少行

grep -c “test” grepcmd.txt

3. 打印匹配”test”关键字的上下文各1行

grep -C 1“test” grepcmd.txt

4. 打印匹配test关键的行并显示行号

grep -n “test” grepcmd.txt

5. 查找开头为”#”的行,并显示行号

grep -n ^# grepcmd.txt

6. 查找在本地目录下(含子目录)结尾为”c”的文件

grep -r c$ ./

7. 查找以”man”开头的单词

grep '<man'* grepcmd.txt

8. 查找”man”仅匹配此三个字符

grep '<man>' grepcmd.txt

9. 查找含有以”D”字符开头的行

grep -n ^[D] grepcmd.txt

10. 查找含有以”A-F”字符开头的行

grep -r “^[A-F]” ./

11. 查找含有以”A-F”字符开头,第2个字符为i的行

grep “^[A-F]i” grepcmd.txt

12. 查找含有以'nobody'字符的行及下面3行信息

grep -A 3 'nobody' /etc/passwd

13. 查找含有以'nobody'字符的行及上面3行信息

grep -B 3 'nobody' /etc/passwd

14. 查找以D或d字符为开头的行

egrep '(^D|^d)' egrepcmd.txt

15.匹配以D开头的0个或1个字符

egrep ^D? egrepcmd.txt

16.查找不包含”chuai”及”lisa”的字段

egrep -v '^(chuai|lisa)' egrepcmd.txt

----------

命令: cut

功能: 对所需字符进行截取

-d “n”:定义分界符,即点位

-f n:取第几位的字符

示例:

1. 以空格符为分界符,进行第2位截取.

cut -d “ “ -f 2 ./cutcmd.txt

2. 以空格符为分界符,进行第1,3位截取.

cut -d “ “ -f 1,3 ./cutcmd.txt

---------

命令:sed

功能:通过指定的正则表达式完成指定关键字的过滤、截取、修改等操作

特点:

1.sed属于一个流线式的非交互式的编辑器

2. sed在输入命令和文件名后,将在屏幕上输出

3.在不用重定向至文件之前,是不会改变文件现有内容以避免修改文件时出现问题

示例:

1.将install.log的第1-3行删除 $sed ‘1,3d’ install.log

2.对install.log查找以A或a开头且后面字符为pache的字串 $sed -n ‘/^[Aa]pache/p’ install.log

3.打印匹配字段的行及所有行 $sed ‘/ftp/p’ install.log

4.打印匹配字段的行 $sed -n ‘/ftp/p’ install.log

5.默认删除第3行 $sed ‘3d’ install.log

6.默认删除第3行至末尾行 $sed ‘3,$d’ install.log

7.删除含有指定字段的行 $sed ‘/data/d’ install.log 8.将data替换为date $sed –n ‘s/data/date/p’ install.log 9.将行尾noarch为结尾后面增加.chuai字符 $sed ‘s/noarch$/&.chuai/’ install.log

8.将所有行尾noarch的单词替换为chuai单词 $sed -n ‘s/noarch$/chuai/gp’ install.log

9.显示包含ra及data字段的行 $sed –n ‘/ra/,/data/p’ install.og

10.从第5行开始显示直至包含有data的行 $sed -n ‘5,/data/p’ install.log

-----------

命令:awk

功能:通过正则表达式,得到需要的行,列信息

示例:

1. 用awk 打印所有包含有data字段的行

$awk ‘/data/’ install.log

2. 查看df -h命令的第2列

$df -h | awk '{print $2}'

3. 查看df -h名ing的第2,5列

$df -h | awk '{print $2,$5}'

4. 显示install.log的第四行

$awk 'NR==4' install.log

5.打印install.log文件中包含data字段行的第二区域

$awk ‘/data/ {print $2}’ install.log

6. 列示月份及年份( 为换行符)

$date | awk ‘{print “Year:” $6 “ Month:” $2 }’

7. 在有/data关键字的行的第1列后面增加1个 制表符,并增加RedHat,第2列后面!字符

$awk ‘/data/{print $1 “ RedHat Linux”$2 “!” }’ install.log

8. 在有data关键字的行第1列前面增加1个 制表符,并增加RedHat,第2列后面!字符)

$awk ‘/data/{print “ RedHat Linux, “$1,$2 “!” }’ install.log

9. 在有noarch字段的行前增加记录号($0为行头前)

$awk ‘/noarch/{print NR, $0}’ install.log

10. 在有sda2字段的行前增加行的序号及显示第2列内容

$df -h | awk '/sda2/{print NR,$2}'

11. 匹配noarch字段,如果有,则显示整行

$awk ‘$2 ~ /noarch/’ install.log

12. 匹配不存在noarch字段的行,如果有,则显示整行

$awk ‘$2 !~ /noarch/’ install.log

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

命令:sort

功能:默认以排序ASCII方式进行排序[a-z]

参数:

-u 去除重复的行

-r 降序排序[z-a]

-n 数值排序,默认情况10比2小,主要因为sort判断第一字符的值

-k 以文本的列进行判断

-t 设定分界符

示例:

1. 对/etc/passwd文件进行升序排序

sort /etc/passwd

2. 对/etc/passwd文件进行降序排序

sort -r /etc/passwd

3. 对/etc/passwd第3列进行数值排序,分界符为:

sort -n -k 3 -t : /etc/passwd

4. 对test.txt文件中重复的行删除并升序排序

sort -u test.txt

5. 对/etc/shadow文件进行降序排序

sort -r /etc/shadow

6. 对/etc/passwd第3列进行数值排序,分界符为:

sort -n -k 3 -t : /etc/passwd

7. 对/etc/passwd的第2列进行逆序排序,并对第3列进行数值排序,优先级为第2列

sort -k 2r -k 3n -t : /etc/passwd

8. 对/etc/passwd的第3列进行数值排序,第2列进行逆序排序,优先级为第3列

sort -k 3n -k 2r -t : /etc/passwd

-----------

命令:wc

功能:统计行数、字数、字符数、文件总统计数

参数:

-l 统计行数

-c 统计字节数

-w 统计字数(单词数)

示例:

1. 统计/etc/passwd文件行数

wc -l /etc/passwd

2. 统计/etc/passwd文件的字数

wc -w /etc/passwd

3. 统计/etc/passwd文件的字节数

wc -c /etc/passwd

4. 统计/etc/passwd文件行数和字节数

wc -lc /etc/passwd

5. 统计/etc/passwd与/etc/fstab各文件的行、字、字节数

wc -lwc /etc/passwd /etc/fstab

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

命令:uniq

功能:检查文本中重复出现的行

-c 显示输出,并在文本行前加出现的次数,但如果重复行不连续,则不认为是重 复的行

-d 只显示重复的行

-u 只显示不重复的行

1. 对test.txt内容进行检查并显示次数

uniq -c test.txt

2. 对test.txt的重复行不显示

uniq -u test.txt

3. 忽略test.txt的第1列,对第2列进行检查

uniq +1

4. 对test.txt的显示重复行

uniq -d test.txt

5. 忽略test.txt的第1个字符, 从第2个字符开始进行检查

uniq -s 1 test.txt

6. 对每行的第2个字符以后不在做检查

uniq -w 2 -c test.txt

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

命令:tac

功能:将行颠倒

说明:将最头行放置最底行,文本中所有的行均颠倒输出

-----------

命令:tr

功能:大小写转换

语法格式:tr 现有小写范围 转换大写范围

tr 现有大写范围 转换小写范围

-- 完 --

原文发布于微信公众号 - java思维导图(java-mindmap)

原文发表时间:2018-08-06

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小筱月

shell 文本操作命令

:s/old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”

1382
来自专栏GreenLeaves

EF基础知识小记三(设计器=>数据库)

本文主要介绍通过EF的设计器来同步数据库和对应的实体类.并使用生成的实体上下文,来进行简单的增删查该操作 1、通过EF设计器创建一个简单模型 (1)、右键目标项...

2115
来自专栏java学习

Linux 基础命令(收藏大全)

如果你是初学者,或者是自学者!你可以加小编微信(xxf960326)!小编可以给你学习上,工作上的一些建议以及可以给你(免费)提供学习资料!最重要我们还可以交个...

1333
来自专栏成猿之路

Linux 基础命令(收藏大全)

/home 普通用户的宿主目录,用户数据存放在其主目录中lib 存放必要 的运行库

1504
来自专栏linux系统运维

shell的特殊符号以及其他命令

2535
来自专栏阮一峰的网络日志

npm scripts 使用指南

Node 开发离不开 npm,而脚本功能是 npm 最强大、最常用的功能之一。 本文介绍如何使用 npm 脚本(npm scripts)。 ? 一、什么是 np...

3597
来自专栏深度学习自然语言处理

Linux基本命令之grep命令常见用法

grep命令可以说是Linux下面最常用的文本处理工具了,那么究竟我们可以用grep命令做什么了?首先我们想一想在windows下是我们是如何在整个文本中寻找我...

1722
来自专栏C/C++基础

Linux命令(1)——xargs命令

xargs可以将stdin中以空格或换行符进行分隔的数据,形成以空格分隔的参数(arguments),传递给其他命令。因为以空格作为分隔符,所以有一些文件名或者...

1553
来自专栏hotqin888的专栏

golang beego结合editable进行成果登记系统的在线修改

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1121
来自专栏机器学习和数学

[编程经验]Python中os模块最最常用的方法

最近在搞天池的AI医疗那个比赛,所以没时间写文章了,有没有小伙伴想一起做的,可以找我私聊! ***********print("分割线")***********...

3405

扫码关注云+社区

领取腾讯云代金券