linux基础

一 新手必备Linux命令

1.1 shell

内核负责驱动硬件、管理活动和分配/管理硬件资源,由于其重要性不能被用户直接操作

用户通过输入->应用程序->调用系统接口->内核->硬件
撒

"SHELL":"人与内核(硬件)的翻译官",用户输入命令,shell会调用相应程序服务秩序工作,目前Linux主流系统默认字符shell是Bash

1.2 执行命令与查看帮助

命令名称 [命令参数] [命令对象]

命令参数 分长格式(man --help)与短格式 (man -h)

命令对象 要处理的目标文件

1.3 常见的系统工作命令

1.3.1 echo 在终端打印字符串或变量

例:

[root@localhost ~]# echo "hello world" hello world

[root@localhost ~]# echo $SHELL /bin/bash

1.3.2 date 显示或设置系统时间或日期 date [参数] [+格式]

格式:

时间方面 日期方面
% : 印出 % %a : 星期几 (Sun..Sat)
%n : 下一行 %A : 星期几 (Sunday..Saturday)
%t : 跳格 %b : 月份 (Jan..Dec)
%H : 小时(00..23) %B : 月份 (January..December)
%I : 小时(01..12) %c : 直接显示日期与时间
%k : 小时(0..23) %d : 日 (01..31)
%l : 小时(1..12) %D : 直接显示日期 (mm/dd/yy)
%M : 分钟(00..59) %h : 同 %b
%p : 显示本地 AM 或 PM %j : 一年中的第几天 (001..366)
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) %m : 月份 (01..12)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%S : 秒(00..61) %w : 一周中的第几天 (0..6)
%T : 直接显示时间 (24 小时制) %W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%X : 相当于 %H:%M:%S %x : 直接显示日期 (mm/dd/yy)
%Z : 显示时区 %y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)

参数:

  • -d datestr : 显示 datestr 中所设定的时间 (非系统时间)
  • --help : 显示辅助讯息
  • -s datestr : 将系统时间设为 datestr 中所设定的时间
  • -u : 显示目前的格林威治时间
  • --version : 显示版本编号

例:

[root@localhost ~]# date "+%x" 2019年08月26日

[root@localhost ~]# date -u 2019年 08月 26日 星期一 09:19:16 UTC

1.3.3 wget 下载网络文件 wget [参数] [网络地址]

  1. 下载单个文件 wget URL

  2. wget -O下载并以不同的文件名保存

    wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。

    wget -O name URL

  3. wget –limit -rate限速下载 wget –limit-rate=300k URL

  4. wget -c断点续传

  5. wget -b后台下载

  6. 代理名称下载

    wget –user-agent=”Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16″ URL

  7. wget –spider测试下载链接

  8. wget -i下载多个文件 wget -i file

  9. wget -Q限制总下载文件大小

  10. wget -r -A下载指定格式文件

1.3.4 ps 查看系统进程

参数 作用
-a 显示所有用户进程
-u 显示当前用户进程
-x 显示没有控制终端的进程

Linux系统中5种常见进程状态,分为

  • R(运行)
  • S(中断)
  • D(不可中断)
  • Z(僵死)
  • T(停止)

1.3.5 top 动态监测进程活动与系统负载等信息

1.4 系统状态监测命令

1.4.1 ifconfig 获取网卡配置与网络状态等信息

1.4.2 uname 查看系统内核与系统版本信息 uname [-a]

1.4.3 update 查看系统负载信息

1.4.4 free显示当前系统内存使用情况 free -m/g/h

1.4.5 who 查看当前登入主机用户终端信息

1.4.6 last 用于查看所有系统的登录信息

1.4.7 history 显示历史执行过的命令

history -c 清除历史

默认记录1000条命令记录,可在/etc/profile中修改HISTSIZE变量值

1.5 工作目录切换命令

1.5.1 pwd 显示所处工作目录

1.5.2 cd 工作路径切换

参数 作用
~ 切换至家目录
- 切换至上次所在目录
.. 切换至上级目录
~username 切换至指定用户家目录

1.5.3 ls 显示目录文件信息 ls [选项] [目录]

参数 作用
-a 显示全部文件
-d 仅看目录本身
-h 易读文件容量
-l 显示文件详细信息
  • 查看文件详情:ls -l 或 ll
  • 增强对文件大小易读性,以人类可读的形式显示文件大小: ls -lh
  • 查看当前目录下的所有文件或者目录,包括隐藏文件: ls -la
  • 只查看当前目录: ls -ld

1.6 文本文件编辑命令

1.6.1 cat 查看纯文本文件(较短的) cat [参数] [文件]

参数 作用
-n 显示行号
-b 显示行号(不包括空行)
-A 显示出不可见符号,如空格,tab键

1.6.2 more 查看纯文本(较长的) more [参数] [文件]

参数 作用
-数字 预先显示行数(默认显示为一页)
-d 显示提示语句与报错信息

1.6.3 head 查看纯文本前N行 head [参数] [文件]

参数 作用
-n 数字 显示指定行数
-n-数字 正常输出(如cat),但不显是指定尾行

1.6.4 tail 查看后N行, tail [参数] [文件]

参数
-n 数字 显示指定后N行
-f 持续刷新显示内容

1.6.5 od 查看特殊格式文件 od [参数] [文件]

1.6.6 tr 转换或删除文本文件中的字符

1.6.6 wc统计文本行数、字数、字节数 wc [参数] [文本]

参数 作用
-l 只显示行数
-w 只显示单词数
-c 只显示字节数

1.6.7 cut提取文本字符 cut [参数] [文本]

参数 作用
-d 分隔符 指定分隔符
-f 指定列
-c 单位字符

1.6.8 diff 比较文本差异 dif [参数] [文件]

参数 命令
-b 忽略空格差异
-B 忽略空行差异
--brief或-q 报告是否存在差异
-c 使用上下文输出格式

1.7 文件目录管理命令

1.7.1 touch 创建空白文件与修改文件时间 touch [选项] [文件]

参数 作用
-a 修改访问时间
-m 修改更改时间
-d 同时修改访问与修改时间
-t 要修改成的时间

1.7.2 mkdir 创建空白文件夹 mkdir [选项] [目录]

参数 作用
-m 指定权限
-p 创建多层目录
-v 显示创建过程

1.7.3 cp 复制文件或目录 cp [选项] 源文件 目标文件

参数 作用
-p 保留源文件属性
-d 若对象为链接文件,则保留链接属性
-r 递归复制(用于目录)
-i 询问覆盖
-a 相当于-pdr

1.7.4 mv 移动文件或修改名称 mv [选项 i/f] [源文件或目录] [目标文件或目录]

1.7.5 rm 删除文件或者目录

参数 作用
-f 忽略警告信息
-i 删除询问
-r 删除文件夹

1.7.6 dd 指定大小的拷贝文件或指定转换文件

1.8 用户和组管理命令

1.8.1 useradd 创建新用户 useradd [选项] 用户名

参数 作用
-d 指定用户家目录(默认/home/username)
-D 展示默认值
-e 账号有效期,YYYY-MM-DD
-g 指定初始用户组
-G 指定一个或多个拓展用户组
-N 不创建与用户用户同名的用户组
-s 指定默认shell
-u 指定用户UID
1.8.1.1 id 查看用户信息

1.8.2 passwd 修改用户密码 pass [选项] [用户名]

修改当前用户 passwd

修改其他用户 passwd 用户名

参数 作用
-l 锁定用户禁止登陆
-u 解除锁定
--stdin 允许从标准输入修改用户密码,如(echo "newpasswd" | passwd --stdin username)
-d 是账号无密码
-e 强制用户下次登陆时修改密码
-S 显示用户密码状态

1.8.3 userdel 删除用户 userdel [参数] username

参数 作用
-f 强制删除,家目录及相关文件
-r 同时删除,家目录及相关文件

1.8.4 usermod 修改用户属性 usermod [参数] username

1.9 打包压缩文件命令

1.9.1 tar 命令用于对文件打包压缩或解压 tar [参数] [文件]

打包并压缩文件 tar -czvf 压缩包.tar.gz 文件名

解压并展开压缩包 tar -xzvf 压缩包.tar.gz

参数 作用
-c 创建压缩文件
-x 解压缩文件
-t 查看压缩包内文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压过程
-f 目标文件名
-p 保留原始权限与属性
-P 使用绝对路径压缩
-C 指定解压到目录

1.10 文件搜索命令

1.10.1 grep 对文本进行搜索 grep [参数] [文件]

搜索关键词 grep 关键词 文件

作用
-b 将可执行文件当做文本搜索
-c 仅显示找到次数
-i 忽略大小写
-n 显示行号
-v 反向选择

1.10.2 find 查找文件 find [查找路径] [条件] [操作]

作用
-name 匹配名称
-perm 匹配权限
-user 匹配所有者
-group 匹配组
-mtime -n +n 匹配修改时间(-n指那天以内,+n指n天以前)
-atiem -n +n 匹配访问时间
-ctime -n +n 匹配修改权限时间
-nouser 匹配无所有者文件
-nogroup 匹配无所有组文件
-newer f1 !f2 匹配比文件f1新比f2旧的文件
-type b/d/c/p/l/f 匹配文件类型
--size 匹配文件大小
-prune 忽略某个目录
--exec{} ; 后面可接对搜索结果进一步处理的命令

二 管道符、重定向与环境变量

2.1 管道命令符

“|” 将前一个命令的标准输出当做后一个命令的标准输入 命令1|命令2

root@localhost ~]# grep -n "长" 1 | wc -l 2

2.2 输入输出与重定向

2.2.1 输入输出

标准输入(STDIN,文件描述符为0):默认键盘输入,为0时表示从其他文件或命令输出

标准输出(STDOUT,文件描述符为1):默认输出到屏幕,为1时表示是文件

错误输出(STDERR,文件描述符为2):默认输出到屏幕,为2时表示文件

2.2.2 输入输出重定向符的情况

输出重定向:

符号 作用
命令 > 文件 标准输出重定向到一个文件中(清空原有文件数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件数据)
命令 >> 文件 标准输出重定向到一个文件中(追加到原有文件数据)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有文件数据)
命令 >> 文件 2>&1 将标准输出与错误输出共同写入到文件中(追加)

输入重定向:

作用
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇见‘’分界符‘’停止
命令 < 文件 1 > 文件 2 将文件1作为命令的标准输入并将标准输出到文件2

2.3 命令行通配符

2.3.1 常见文本通配符

含义
* 匹配0个或多个字符
? 匹配任意单个字符
[0-9] 匹配范围内数字
[abc] 匹配给出的字符

2.3.2 特殊字符

作用
(反斜杠) 转义单个字符
'' (单引号) 转义所以字符
"" (双引号) 变量依然生效
`` (反引号) 执行命令语句

2.4 实用PATH变量

2.4.1 alias 设置命令别名 alias 别名=命令 /unalias 取消别名 unalias 别名

2.4.2 echo $PATH 查看path变量

2.4.3 PATH=$PATH:变量路径

2.5 重要的环境变量

变量名 作用
HOME 用户主目录
SHELL 当前的shell
HISTSIZE 历史命令记录条数
MAIL 邮件邮箱文件
LANG 语系数据
RANDOM 随机数字
PS1 bash 提示符
HISTFILESIZE history命令存储数量
PATH 在路径中目录查找执行文件
EDITOR 默认文本编辑器

2.5.1 export 将局部命令提升为全局变量

​ export 变量名

原文地址:https://www.cnblogs.com/zhao1126/p/11470547.html