Linux常用命令
本文最后更新于14 天前,其中的信息可能已经过时,如有错误请发送邮件到1979007616@qq.com

Linux概述

Linux内核:开源,提供Linux系统的主要功能,如硬件调度管理功能;

Linux系统发行版:内核+系统级应用程序。

虚拟机

虚拟化软件(VMware)

下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html

确认网卡:VMware Network Adapter VMnet1 和VMware Network Adapter VMnet8,没有是无法上网的

安装Linux系统

下载Ubuntu系统:阿里云镜像站或者清华镜像站

SSH远程软件:FinalShell官网:http://www.hostbuf.com/

WSL

wsl(windows Subsystem for linux):可以在windows系统中获得Linux系统,并完全直连计算机硬件,无需通过虚拟机虚拟硬件。

下载系统:window商店下载Ubuntu

下载终端程序:Windows Terminal

虚拟机快照

通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态;

快照制作需要虚拟机关机状态下(不关机也可以,但是比较慢,建议关机)

Linux常用基础命令

ls命令

作用:列出目录下的内容;

语法:ls [-a -l -h] [linux路径]

  • -a选项:表示all的意思,即列出全部文件(包含隐藏的文件/文件夹)
  • -l选项:表示以列表(竖向排列)的形式展示内容
  • -h选项:表示以易于阅读的形式,列出文件大小,必须搭配-l使用

命令的选项可以组合使用

如:ls -lahls -l -a -h

cd/pwd命令

语法:cd [linux路径]

  • cd命令不写参数,表示回到用户HOME目录
  • cd命令写参数,表示要切换到哪个目录下
  • pwd命令查看当前所在的工作目录

相对、绝对路径

特殊路径符:

  • .  表示当前目录,
  • .. 表示上一级目录,比如cd .. 切换到上一级目录,cd ../..   切换到上二级的目录;
  • ~ 表示HOME目录,比如cd ~切换到HOME目录,cd ~/Desktop,切换到HOME内的Desktop目录

mkdir命令

作用:创建新的目录(文件夹)

语法:mkdir [-p] [linux路径]

  • mkdir file:创建文件夹file;相对路径
  • mkdir /home/xmh/file:创建文件夹file;绝对路径
  • mkdir ./file:在当前目录下创建文件夹file;
  • mkdir ~/file:在home目录内创建文件夹file;
  • mkdir -p xmh/aa/file:[-p]选项可以一条链创建文件夹,创建多层级目录

注意:创建文件夹只能在home目录内,mkdir /xmh会提示权限不够,涉及权限管理

Ctrl+L:Linux系统清屏快捷键;clear命令也可以

touch命令

作用:创建新的文件(文件),不同于mkdir

语法:touch [linux路径]

cat命令

作用:查看文件内容,也可以查看目录

语法:cat [linux路径]

more命令

作用:查看文件内容,同cat不同的是more支持翻页,如果内容多的话,可以一页一页显示

语法:more [linux路径]

系统内置文件:/etc/services,可以展示more命令的功能,按空格翻页,回车一次显示一行,通过q退出

cp命令

作用:复制文件和文件夹

语法:cp [-r] 参数1 参数2

-r选项:可选,用于复制文件夹使用,表示递归

  • 参数1:Linux路径,表示被复制的文件/文件夹
  • 参数1:Linux路径,表示要复制去的地方

mv命令

作用:移动文件和文件夹

语法:mv 参数1 参数2

  • 参数1:Linux路径,表示被移动的文件/文件夹
  • 参数1:Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在;

rm命令

作用:删除文件和文件夹

语法:rm [-r -f] 参数1 参数2...参数n

  • -r选项:同cp命令一样,用于删除文件夹
  • -f选项:表示强制删除force,普通用户不会弹出提示,root用户会提示
  • 参数1:表示被删除的文件/文件夹路径,空格隔开

rm命令支持通配符*,用来做模糊匹配,

  • test*:以test开头
  • *test:以test结尾
  • *test*:包含test
切换至root用户,su – root,输入密码123456,通过exit退回至普通用户。

which命令

which查看所使用的命令的程序文件在哪个文件夹下

which cd:查找cd命令的程序文件存放在哪

find命令

作用:按文件名或文件大小查找文件

语法:find 起始路径 -name "被查找的文件名"

语法:find 起始路径 -size +|-n[kMG]

  • 起始路径/:表示全盘搜索
  • +、-:表示大于或小于
  • n:表示数字大小
  • kMG:表示大小单位,k=kb,M=MB,G=GB

查找文件名为xmh的文件:find / -name "xmh"

查找大于100M的文件:find / -size +100M

find命令也支持通配符*,用来做模糊查询

grep命令

作用:从文件中通过关键字过滤文件行

语法:grep [-n] 关键字 文件路径(可作为管道符的输入)

-n选项:表示在结果中显示匹配行的行号

关键字:建议用" "包围起来

例:grep -n "my" xmh/b.txt

wc命令

作用:统计文件的行数、单词数量等

语法:wc [-c -m -l -w] 文件路径(可作为管道符的输入)

  • -c:统计bytes数量;
  • -m:统计字符数量;
  • -l:统计行数;
  • -w:统计单词数量; word

管道符 |

含义:将管道符左边命令的结果,作为右边命令的输入

例:cat b.txt | grep -n "hello"

例:ls ~ | wc -l

例:cat b.txt | grep -n "i" | grep -n "my"

echo命令

作用:在命令行内输出指定内容

语法:echo 输出内容

例:echo "hello linux"  建议用双引号包围

反引号

作用:将反引号包围的内容作为命令执行

例:echo `pwd`  输出当前文件的目录路径

重定向符

  • >,将左侧命令的结果,覆盖写入右侧指定的文件中
  • >>,将左侧命令的结果,追加写入右侧指定的文件中

例:echo "hello Linux" > xmh.txt    覆盖原先内容

echo "hello Linux" >> xmh.txt   追加内容

tail命令

作用:可以查看文件尾部的内容,跟踪文件的最新修改

语法:tail [-f -num] Linux路径

  • -f,表示持续跟踪,可以实时看到文件的尾部追加内容,快捷键ctrl+c停止跟踪
  • -num,表示查看尾部多少行,默认10行

vi\vim编辑器

vim是vi命令的进阶版,后续全部使用vim

语法:vim 文件路径

文件路径不存在则会创建一个新的文件

命令模式下快捷命令:

  • /,进入搜索,取消高亮:底线模式下输入:nohl。显示高亮输入:set hlsearch
  • n,向下搜索
  • N,向上搜索
  • 按ESC,鼠标定位要删除的行,快速按两下d,删除整行
  • 删除1-10行:1,10d

底线命令模式:

  • :wq,保存并退出
  • :q,仅退出
  • :q!,强制退出
  • :w,仅保存
  • :set nu,显示行号
  • :set paste,设置粘贴模式

Linux用户和权限

su - root:切换到root用户得到最大权限

但是不建议长期使用root用户,避免带来系统损坏

sudo命令

作用:为普通账户授权临时以root身份执行

语法:sudo 其他命令

在用其他命令前,带上sudo,即为这条命令临时赋予root权限,sudo mkdir test

但是不是所有用户都有权限使用sudo,需要为普通用户配置sudo认证

为普通用户配置sudo认证

  • 切换到root用户,执行visudo命令,vi编辑器会自动打开/etc/sudoers
  • 在文件最后添加:xmh ALL=(ALL) NOPASSWD: ALL

其中xmh表示要授权的用户,NOPASSWD: ALL表示使用sudo命令无需输入密码,最后通过:wq保存。

切换至 root 用户,su – root,输入密码 123456,通过 exit 退回至普通用户。

用户、用户组管理

用户组管理

以下命令需要root用户执行

  • 创建用户组:groupadd 用户组名
  • 删除用户组:groupdel 用户组名

用户管理

  • 创建用户:useradd [-g -d] 用户名

-g选项,指定用户的组,不指定会创建同名的组并自动加入,指定-g需要组已经存在,如果已经存在同名组,必须用-g;

-d选项,指定用户HOME路径,不指定,HOME默认在:/home/用户名

  • 删除用户:userdel [-r] 用户名

-r选项,删除用户的HOME目录,不使用-r,则保留

  • 查看用户所属组:id [用户名]

参数:用户名可不提供,表示查看自身

  • 修改用户所属组:usermod -aG 用户组 用户名,将指定用户加入指定用户组

getent命令

语法:getent passwd    查看系统中有哪些用户

共7分信息:用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

语法:getent group    查看系统中有哪些用户组

共3分信息:用户组名:密码(x):用户组ID

认知权限信息

drwxr-xr-x解析:

  • d、-、l:d表示文件夹,-表示文件,l表示软链接
  • rwx:表示所属用户的权限
  • r-x:表示所属用户组的权限,-表示没有此权限
  • r-x:表示其他用户的权限

第一个xmh表示文件所属用户。第二个用户表示文件所属用户组

  • r,针对文件查看文件内容;针对文件夹可查看文件夹内容,如ls命令;
  • w,文件、文件夹可修改权限;
  • x,针对文件表示可作为程序执行,文件夹表示可进入,如cd命令

修改权限控制chmod

作用:修改文件、文件夹的权限信息

注意:只有文件、文件夹的所属用户或root用户可以修改

语法:chmod [-R] 权限 文件/文件夹

-R选项,对文件夹内的全部内容应用同样的操作

例:chmod u=rwx,g=rx,o=r a.txt,将文件权限修改成rwxr-xr--

  • 其中u表示user所属用户权限,g表示group组权限,o表示other其他用户权限

简化写法:chmod 754 a.txt   r=4,w=2,x=1,二进制计算

修改权限控制chown

作用:修改文件、文件夹的所属用户和用户组

语法:chown [-R] [用户]:[用户组] 文件/文件夹

-R选项,同chmod命令一样,对文件夹内的全部内容应用同样的操作

例:chown root a.txt,将a.txt所属用户修改为root

chown :root a.txt,将a.txt所属用户组修改为root

chown root:root a.txt,将a.txt所属用户和用户组都修改为root

Linux实用操作

各类小技巧(快捷键)

  • 强制停止:ctrl+c
  • 退出或登出:ctrl+d
  • 历史命令搜索:history
  • 匹配历史命令:ctrl+r,输入内容匹配,回车执行,键盘左右键,得到此命令(不执行)
  • !命令前缀,自动匹配上一个命令
  • ctrl+a,光标移动到命令开始,ctrl+e,光标移动到命令结束
  • ctrl+👈,左跳单词,ctrl+👉,左跳单词

软件安装

yum命令

作用:RPM(.exe、.apk)包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖的问题。

语法:yum [-y] [install | remove | search] 软件名称

  • 选项-y,表示自动确认,不需要手动确认安装或卸载过程

yum命令需要root权限,需要联网

例:yum -y install wget,通过yum安装wget程序,wget这个命令可以从网上下载东西,Linux没有内置

yum -y remove wget,通过yum卸载wget程序

yum search wget,通过yum查找是否有wget程序

在WSL环境中,Ubuntu系统是使用apt进行软件安装的,语法、权限和Centos一样。

systemctl命令

作用:systemctl命令控制软件(内置或第三方)启动、停止、开机自启

语法:systemctl start | stop | status | enable | disable 服务名称

                启动    停止    状态  开启开机自启 关闭开机自启

系统内置服务如:

  • NetworkManager,主网络服务
  • network,副网络服务
  • firewalld,防火墙服务
  • sshd,ssh服务(FinalShell远程登陆Linux系统使用的就是这个服务)

第三方软件:

yum -y install ntp,可以通过ntpd服务名,配合systemctl控制,时间同步的服务

yum -y install httpd,可以通过httpd服务名,配合systemctl控制,apache服务器软件

部分软件安装后没有自动集成到systemctl中,我们可以手动添加

软链接

作用:在系统中创建软链接,可以将文件、文件夹链接到其他位置,类似快捷方式

语法:ln -s 参数1 参数2

  • -s选项,创建软链接
  • 参数1,被链接的文件或文件夹
  • 参数2,要链接去的目的地

 例:ln -s `pwd`/aa ~/abc 将当前文件夹下的aa文件链接到根目录下的abc文件

日期和时间

查看系统时间

语法:date [-d] [+格式化字符串]

  • -d选项,按照给定的字符串显示日期,一般用于日期计算

%Y:年    %m:月   %d:日    %H:小时    %M:分钟    %S:秒

例:date +%Y-%m-%d,输出:2023-06-11

例:date "+%Y-%m-%d %H:%M:%S",中间有空格,需要用双引号包围起来

例:date -d "+1 day" +%Y-%m-%d,显示后一天的日期

例:date -d "+1 year" +%Y-%m-%d,显示后一年的日期

修改Linux时区

使用root权限,执行以下命令,修改时区为东八区时区(CST)

rm -f /etc/localtime     删除系统自带的时区文件
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

ntp程序自动校准

  • 安装ntp程序:yum -y ntp
  • 开启ntp:systemctl start ntpd
  • 开机自启:systemctl enable ntpd

也可以手动校准(需要root权限):ntpdate -u ntp.aliyun.com

IP地址和主机名

通过ifconfig命令查看本机ip地址,如果无法使用该命令,可以安装:yum -y install net-tools

通过hostname命令查看主机名,主机名修改:hostnamectl set-hostname 主机名

配置主机名映射

虚拟机配置Linux系统固定IP

  • 在VMware Workstation中配置IP地址和网段(IP的地址范围);
  • 在Linux系统中手动修改配置文件,固定IP。

使用vim /etc/sysconfig/network-scripts/ifcfg-ens33文件,填入以下内容:

BOOTPROTO="dhcp"改成"static"     添加以下内容
IPADDR="192.168.217.130"      ---IP地址
NETMASK="255.255.255.0"       ---掩码
GATEWAY="192.168.217.2"       ---网关
DNS1="192.168.217.2"          ---DNS

执行:systemctl restart network重启网卡

网络请求和下载

ping命令

作用:检查指定的网络服务器是否是可联通状态

语法:ping [-c num] ip或主机名

  • -c选项,检查的次数,不使用则无限检查

wget命令

作用:可以在命令行内下载网络文件

语法:wget [-b] url

  • -b选项,可选,后台下载,会将日志写入到当前工作目录的wget-log文件

下载的文件直接存在根目录下

tail -f wget-log命令可以持续跟踪下载进度

curl命令

作用:下载文件(和wget命令一样)、获取信息等

语法:curl [-O] url

  • -O选项,用于下载文件,当url是下载链接时,可以使用此选项保存文件。

例:curl cip.cc    获取主机的公网IP

端口

安装nmap:yum -y install nmap

查看Linux端口占用情况:nmap 127.0.0.1,查看指定IP地址对外暴露的端口

查看指定端口占用情况:netstat -anp | grep 22

进程

作用:查看Linux系统中的进程信息

语法:ps [-e -f]

  • -e选项,显示全部进程
  • -f选项,以完全格式化的形式展示信息

可以通过管道符过滤进程:ps -ef | grep mysql

关闭进程:kill -9 进程ID

-9选项,表示强制关闭进程

主机状态

通过top命令查看CPU、内存使用情况,类似Windows任务管理器

查看磁盘使用情况:df [-h]

  • -h选项,以更人性化的单位显示

磁盘速率

语法:iostat [-x] num1 num2

  • -x选项,显示更多信息
  • num1,刷新间隔
  • num2,刷新次数

网络状态监控

语法:sar -n DEV num1 num2

  • -n选项,查看网络,DEV表示查看网络接口
  • num1,刷新间隔
  • num2,刷新次数

环境变量

执行env命令可查看系统环境变量

$符可以取出变量值:echo $HOSTNAME

自行设置环境变量:

  • 临时:export 变量名=变量值
  • 永久生效:
  • 针对当前用户生效,配置在当前用户的:~/.bashrc文件中

vim ~/.bashrc添加一行:export myname="hello linux"

  • 针对所有用户生效,配置在系统的:/etc/profile文件中
  • 并通过语法:source 配置文件,进行立即生效,或者重新登陆finalshell
  • mkdir myenv    新建文件夹
  • touch myenv/mkhaha    新建文件
  • echo "echo "哈哈哈哈"" > mkhaha    设置文件执行内容
  • chmod 744 mkhaha    改变文件权限为可执行
  • vim /etc/profile  添加一行:export PATH=$PATH:/root/myenv   
  • source /etc/myenv   使配置文件生效
  • mkhaha    输出”哈哈哈哈”

上传、下载

  • FinalShell软件的下方窗体,提供了Linux的文件视图,可以和本机进行上传和下载
  • 也可以通过命令进行文件传输
  • rz、sz命令需要安装,yum -y install lrzsz
  • rz:上传     sz:sz a.txt   下载

压缩和解压

Linux系统常见三个压缩格式:zip、tar、gzip

  • .tar,简单封装,没有太大的文件体积减少
  • .gz,可以极大减少文件体积

tar命令

语法:tar [-c -v -x -f -z -C] 参数1...参数N

  • -c,创建压缩文件,用于压缩模式;  create
  • -v,显示压缩和解压的进程,用于查看进度;  view
  • -x,解压模式;
  • -f,要创建的文件或要解压的文件,-f必须在所有选项中位置处于最后一个
  • -z,gzip模式,不使用-z就是普通的tarball格式,一般处于选项第一个位置
  • -C,选择解压的目的地,用于解压模式,单独使用

例:tar -cvf a.tar a.txt  将a.txt压缩成a.tar

tar -zcvf a.gz a.txt  将a.txt压缩成a.gz

tar -xvf a.tar  将a.tar压缩到当前目录下

tar -xvf a.tar -C /home/xmh  将a.tar解压到指定目录

tar -zxvf a.gz -C /home/xmh  以Gzip模式解压a.gz到指定目录

zip命令

作用:压缩文件为zip的压缩包

语法:zip [-r] 参数1...参数N

  • -r选项,被压缩的文件包含文件夹的时候要加上,和rm、cp等命令的-r一样

例:zip a.zip a.txt  将a.txt文件压缩成a.zip

unzip命令

作用:解压zip的压缩包

语法:unzip [-d] 参数

  • -d选项,表示要解压去的位置

例:unzip a.zip  将a.zip解压到当前目录下

    unzip a.zip -d /home/xmh  将a.zip解压到指定目录下

小提示:您可以通过RSS订阅本站文章更新,订阅地址:https://blog.xmhweb.cn/feed

评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇