美文网首页Java 杂谈JavaLinux
Linux 基础命令(收藏大全)

Linux 基础命令(收藏大全)

作者: java面试笔试 | 来源:发表于2018-08-19 12:48 被阅读3次

    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可查看:

    文件名 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 '

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

    grep '' 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 现有大写范围 转换小写范围

    公众号:javafirst

    相关文章

      网友评论

        本文标题:Linux 基础命令(收藏大全)

        本文链接:https://www.haomeiwen.com/subject/aqqciftx.html