Linux常用命令

本文详细介绍了Linux系统中常见的Shell命令,包括通配符、字符串处理、文件系统操作如ls、mkdir、rm、cp、mv,进程管理、用户管理以及软件安装与卸载。此外,还讲解了帮助命令、字符显示、文件搜索和文本处理工具如grep。这些基础知识对于Linux用户管理和系统维护至关重要。
摘要由CSDN通过智能技术生成

一些命令查询网站

linuxcool
菜鸟教程

命令解释器Shell

Shell是系统的用户界面,提供了用户与内核进行交互的一种接口。实际上Shell就是一个命令解释器,它接收用户输入的命令后进行解释并把他们送到内核去执行。
在Linux发行版本中通常包含多种Shell。目前使用最为广泛的Shell有Bash、TC Shell、和Korn Shell等。一般默认的Shell为Bash,如果要更改Shell版本,可以使用chsh命令。

命令基础

通配符

通配符功能
*匹配任意长度的任意字符,可以是0个
?匹配任意单个字符,必须是1个
[]匹配指定字符范围内的任意单个字符,参考正则表达式,但是^换成了!
{}将花括号前的内容与花括号内的内容进行组合
示例1:
echo a{1,2,3}
输出内容为:
a1 a2 a3
示例2:
下面两条命令是等价的
touch a1.txt a2.txt a3.txt
touch a{1,2,3}.txt

单引号、双引号、反引号的区别

先看一个例子

abc=123
echo $abc
>>>123
echo "$abc"
>>>123
echo '$abc'
>>>$abc
echo '\$abc'
>>>\$abc
echo "\$abc"
>>>$abc

单引号中的内容被视为字符串,无视特殊字符。
双引号中不会无视特殊字符,如果要输出特殊字符要用\来进行转义。
反引号是用来包含命令字符串的,反引号中的命令会先被执行,将执行结果返回。

echo `ls` #这个命令等同于ls

帮助命令

man

用于提供在线帮助
语法

man 命令名

例如:

man ls #查看ls命令的帮助信息

type

查看命令类型
语法

type [option] command

  • -t:显示类别,file:外部命令,alias:别名,builtin:内部命令
  • -p:显示命令完整路径
  • -a:显示所有匹配命令

–help

大多数命令都有–help的选项,用来显示使用命令的一些帮助信息
例如:

ls --help #查看ls命令的帮助信息

字符显示

echo

向终端输出字符串
语法

echo [option] 字符串列表

  • -n 不换行输出
  • -e 解析转义符

文件系统命令

ls

用于显示目录内容或文件信息
语法

ls [选项] [文件名…]

常用选项

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
  • -R 若目录下有文件,则以下之文件亦皆依序列出
  • -d 将目录文件像普通文件一样列出,不列出目录下的文件

ls -l显示信息解释:
在这里插入图片描述

mkdir、rmdir

mkdir用于创建目录
语法

mkdir [-p] [-m mode] 路径

  • -p 创建多级目录
  • m 创建时指定权限

rmdir用于删除空目录
语法

rmdir 路径

cd

改变所处目录
语法

cd [目录]

cd 		#返回home目录
cd .. 	#返回上一级目录
cd - 	#返回上一次的目录

mv

移动文件或更改文件名
语法

mv 文件1 文件2 … 目标目录(文件)

mv file1 file2 	#将文件file1改名为file2
mv file1 ../   	#将文件file1移动到上一级目录

rm

删除文件或目录
语法

rm [-rf] 文件或目录列表

  • -r 递归删除所有的子目录及文件
  • -f 忽略不存在的文件,不给于提示

cp

复制文件
语法

cp 文件1 文件2 … 目标目录(文件)

  • -r 递归复制子目录
  • -a 复制时保留源文件属性(时间戳、文件属主、符号链接)
cp file1 ../fil1_copy 	#将file1文件复制到上一级目录并更名为fil1_copy
cp file1 file2 ../		#将file1、file2文件复制到上一级目录

find

搜索文件,如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
语法

find [目录] [选项] [动作]

find命令的参数非常多,这里只介绍几个常用的

选项

  • -name 指定文件名,可以使用通配符
  • -type 按类型进行查找

动作

  • -exec 将查找到的目标进行进一步处理,exec后跟随处理命令,命令中通过 {} 引用被找的文件,而且命令必须以 “ \;”结束,-exec的命令会代替find命令原来的输出内容
find ./ -type f -exec ls -l {} \;	#查找当前目录下的所有普通文件并调用ls -l命令进行显示

cat、more、less、head、tail

cat 用于连接文件并在标准输出上输出(不可用于目录)
语法

cat [选项] 文件1 文件2 …

  • -n 由 1 开始对所有输出的行数编号

more 用于分页显示,同cat用法类似
语法

more [选项] 文件1 文件2 …

按空格键(space)显示下一页,按b返回上一页

less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。可以视为more的增强版。

head 用于显示从文件开头的内容,默认显示前10行。
语法

head [参数] [文件]

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<数目> 显示的字节数
  • -n<行数> 显示的行数

head 对应的就是 tail 命令了,tail 用于显示文件尾向前的内容
语法

tail [参数] [文件]

  • -f 循环读取,只要文件更新了就会刷新
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容

touch

创建一个空白文件,如果文件已存在,则会修改文件的时间戳
语法

touch [选项] 文件名

grep、正则表达式简介

文件或文本内容筛选
语法

grep [选项] 正则表达式 文件列表

  • -v 显示不匹配的行
  • -n 显示行号

grep正则表达式说明

元字符功能示例解释
^行开头定位^abc匹配开头为abc的行
$行末尾定位abc$匹配结尾为abc的行
.表示任意一个字符a.c匹配开头为a,结尾为c,中间为一个字符的行
*和0或任意多个前驱字符进行匹配a*bc跟bc前有0个或多个a的行匹配
[]与其中一个字符进行匹配^[abc]与开头为abc其中之一的行进行匹配
[a-z]与范围内的一个字符进行匹配^[a-z]与开头为小写字母的行进行匹配
[^a-z]与不在范围内的一个字符进行匹配^[^a-z]与开头不是小写字母的行进行匹配
\用于转义^\.与开头为.的行进行匹配

备注
如果不加任何元字符,比如:abc,则匹配含有abc的字符串
[]内可以用逗号表示多个候选字符,比如:[a-z,A-Z]表示所有字母

示例
要找出当前目录下开头是a,结尾是b的文件,下面是错误命令:

ls | grep ^ab$ 			#此命令只会找出文件名为ab的文件

下面是两种正确的命令

ls | grep ^a | grep b$
ls | grep ^a.*b$

wc

统计,word count
语法

wc [选项] 文件内容

  • -l:统计行数
  • -c:统计字节数
  • -m:统计字符数
  • -w:统计单词数

tar

将文件进行归档、提取、压缩、解压等操作
语法

tar [cx][z\j][v]f filename [filelist]

  • c:创建归档
  • x:展开归档
  • z:调用gzip对归档压缩/解压
  • j:调用bzip2对归档压缩/解压
  • v:显示冗余信息
  • f:指定归档文件名

chmod

改变文件权限
语法

chmod [选项] [mode] 文件列表

mode可以有两种表示方式

(1)参数模式

  • u表示所有者,g表示组,o表示其他,a表示三者
  • +表示添加权限,-表示撤销权限
  • r表示读,w表示写,x表示执行

例如:ug+rw表示所有者和组增加读写权限,u+rw,g+r表示所有者增加读写权限,组增加读权限

(2)三位八进制权限码模式

  • 4:读权限,对应r
  • 2:写权限,对应w
  • 1:执行权限,对应x

三种权限可以进行加法组合,比如644,表示所有者具有读写权限,组和其他具有读权限

示例
下面两个命令的执行结果是一样的

chmod 764 a
chmod u+wrx,g+wr,g-x,o+r,o-wx a

用户管理命令

相关配置文件

  • /etc/passwd 用户信息文件
  • /etc/shadow 加密口令
  • /etc/group 组信息文件

用户管理相关命令实际上就是对这几个文件的读写操作。因此大部分命令只有root用户有权限使用。

su

切换用户,默认切换为root用户
语法

su [-] username

  • -切换用户的同时以该用户登录shell来代替当前的环境

who

显示当前在线的用户,默认显示全部在线用户
语法

who [option] [user]

  • -H 显示标题栏
  • -u 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成".“,如果该用户超过24小时没有任何动作,则标示成"old”;
  • -q 只显示在线用户数量

有意思的是who i am命令将会显示当前用户的信息

passwd

修改用户的登录口令,默认修改当前用户的口令,并且只有root用户有权限指定用户名
语法

passwd [option] [user]

  • -d 删除密码
  • -f 强迫用户下次登录时必须修改口令
  • -w 口令要到期提前警告的天数
  • -k 如果用户的口令过期了此更改才会生效
  • -l 停止账号使用
  • -S 显示密码信息
  • -u 启用已被停止的账户
  • -x 指定口令最长存活期
  • -g 修改群组密码
  • -n 指定口令最短存活天数(仅对root用户有效)
  • -i 口令过期后多少天停用账户

useradd、userdel

useradd 用于增加用户,只有root用户有权限使用该命令。
语法

useradd [选项] [用户名]

userdel 用于删除用户,同样只有root用户有权限使用该命令。
语法

userdel [选项] [用户名]

进程管理相关命令

ps

查看进程
语法

ps [选项] [pid]

  • -l:以长列表形式显示
  • -w:以加宽格式显示
  • -a:显示所有用户进程
  • -u:按用户名和启动时间的顺序显示进程
  • -x:显示无控制台进程

常用组合:-aux 显示所有进程

top

动态显示进程
语法

top [选项]

  • d : 改变显示的更新速度(秒)
  • c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称,每次调用会切换到与上一次不同的显示模式。
  • i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
  • n : 更新的次数,完成后将会退出 top

kill

用于终止进程或者向进程发送信号
语法

kill [信号值] pid

常用信号值

  • 1 (HUP):重新加载进程。
  • 9 (KILL):杀死一个进程。
  • 15 (TERM):正常停止一个进程。

软件安装和卸载

wget

下载文件
语法

wget [选项] URL

rpm

全称是redhat package manager,原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。
常用命令

  • 安装:rpm -hvi rpm文件
  • 卸载:rpm -e 软件包名

yum

基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
常用命令

  1. 列出所有可更新的软件清单命令:yum check-update

  2. 更新所有软件命令:yum update

  3. 仅安装指定的软件命令:yum install <package_name>

  4. 仅更新指定的软件命令:yum update <package_name>

  5. 列出所有可安裝的软件清单命令:yum list

  6. 删除软件包命令:yum remove <package_name>

  7. 查找软件包命令:yum search

  8. 清除缓存命令:
    yum clean packages: 清除缓存目录下的软件包
    yum clean headers: 清除缓存目录下的 headers
    yum clean oldheaders: 清除缓存目录下旧的 headers
    yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

yum源设置
网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。
以Centos7为例更换yum源(建议更换前对原来的repo文件进行备份)

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 	#下载对应版本的repo文件
mv CentOS6-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo 	#替换repo文件
yum clean all
yum makecache

如果是其他版本的Linux发行版,可以去网易开源镜像使用帮助中寻找对应的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值