Skip to main content
 Web开发网 » 站长学院 » 服务器教程

Linux 基础命令

2021年07月25日6120百度已收录

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

评论列表暂无评论
发表评论
微信