Linux常用指令

一、初始Linux

1.1、硬件和软件

计算机由硬件和软件组成

  • 硬件:计算机系统中由电子,机械和光电元件组成的各种物理装置的总称

  • 软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机交流,而操作系统就是软件的一类

1.2、Linux内核

通过:The Linux Kernel Archives下载Linux内核

Linux系统的组成:

  • Linux系统内核:提供系统最核心的操作,调度CPU,调度内存等

  • 系统级应用程序:可以理解为出厂自带的程序

1.3、虚拟机安装

VMware虚拟机下载地址:Windows VM | Workstation Pro | VMware

win+r输入ncpa.cpl打开网络适配器

下载CentOS操作系统镜像:CentOs官网下载,CentOS国内镜像下载_centos镜像下载官网-CSDN博客

1)虚拟机中最小化安装centos系统后网关默认是关闭的,无法上网ip addr可以看到网络信息:

  • lo:表示本机回环地址

  • Ens33:可以看到网卡信息,没有IP地址,是因为没有启动网卡

  • 网卡配置信息地址:/etc/sysconfig/network-scrips/ifcfg-ens33

  • 设置网络配置信息中的ONBOOT将其值设置为yes---下次启动系统会启动网卡

  • 重启网络服务:systemctl restart network

2)配置静态IP地址:/etc/sysconfig/network-scrips/ifcfg-ens33中添加以下信息

  • IPADDR = 你要设置的静态IP地址

  • NETMASK = 设置子网掩码

  • GATEWAY = 网关地址(一般IP地址最后为.1就是网关,虚拟机中安装查看虚拟机)

  • DNS1 = 8.8.8.8(dns服务器可以配置多个)

注意:BOOTPROTO = dhcp这种分配IP的方式配置静态IP不会生效,要改为static分配方式,保存重启网络服务

1.4、远程连接

Linux系统自带ssh远程连接软件,Windows系统要自行下载

1)图形化和命令行

图形化:使用操作系统提供的图形化页面,已获得图形化反馈的形式去使用操作系统

命令行:使用操作系统提供的各类命令,已获得字符反馈的形式使用操作系统

2)FinalShell---使用第三方软件解决不方便问题

我们使用VMware可以得到LInux虚拟机,但在VMware中操作Linux的命令页面不太方便,主要是:

  • 内容的复制,粘贴跨域VMware不方便

  • 文件的上传,下载跨越VMware不方便

  • 也就是和Linux的各种交互不方便

FinalShell下载地址:http://www.hostbuf.com/downloads/finalshell_install.exe

3)或启动ssh服务

  • 检查ssh服务是否安装

    ssh
  • ssh服务的安装

    sudo apt-get install openssh-service
  • 启动ssh服的服务

    sudo service ssh start
  • 确认服务是否在运行

    ps -ef | grep ssh
  • 连接

    ssh '用户名'@'ip地址'

二、Linux基础命令

2.1、Linux的目录结构

Linux的目录结构是一个树形结构,Linux没有盘符的概念,只要一个根目录(/)所有文件都在它下面

Linux路径的描述方式:

  • 在Linux系统中,路径之间的层级关系,使用:/ 来表示

  • 在windows系统中,路径之间的层级关系使用:\ 来表示

主要的文件目录:

  • bin:该目录中存放二进制文件,文件都可以被运行

  • dev:该文件主要存放外接设备

  • etc:该目录主要存放一些配置文件

  • proc:该目录中存放的是Linux运行时的进程

  • sbin:存放可执行的二进制文件,存放的问价只要超级管理员才可以执行

  • tmp:存放临时文件

  • usr:存放用户自己按装的软件

  • var:存放软件和系统的日志文件

2.2、Linux命令基础

1)命令的通用格式:

command  [ -options ]  [ parameter ]
  • command :表示命令本身

  • -options:表示命令的一些选项,可以通过选项控制命令的行为细节[可选,非必填]

  • parameter:表示命令的参数,多数用于命令的指向目标等[可选,非必填]

示例:

1)ls -l /home/it   ---->ls是命令本身,-l 是选项,/home/it是参数,意思是以列表的形式,显示/home/it目录内的内容
​
2)cp -r text1 text2   ---->cp是命令本身,-r是选项,text1和text2是参数, 意思是复制文件夹text1成为text2

2)查看目录命令:

命令说明
ls查看当前路径下的目录信息
tree以树状方式显示目录
pwd查看当前目录路径
clear清空终端内容
ctrl + shift + "+"放大窗口字体
ctrl + "-"缩小窗口字体

3)HOME目录和工作目录

  • 工作目录:Linux系统的命令行终端在启动时,会默认加载:当前用户登录的HOME文件作为当前工作目录

  • HOME目录:路径在:/home/用户名

4)切换目录命令cd

命令说明
cd 目录名称切换到指定目录
cd ~切换到当前用户的主目录
cd ..切换到上一级目录
cd .切换到当前目录
cd -切换到上一次目录

5)创建,删除文件命令

命令说明
touch 文件名创建指定文件
mkdir 目录名创建指定文件夹
rm 文件名删除指定文件
rmdir 目录名删除空文件夹

注意:rmdir 只能删除空文件夹,如果要删除非空的文件夹,使用rm 文件夹名 -r 其中-r表示递归删除文件夹和文件中的内容

注意:以点开始创建的文件是隐藏文件

6)复制,移动文件命令

命令说明
cp复制(拷贝)文件及文件夹
mv移动文件及文件夹,重命名

格式:

  • 拷贝文件:cp 要复制的文件路径及文件名 复制到的文件路径及文件名

  • 拷贝文件夹: cp 要复制的文件夹路径及文件夹名 复制到的文件夹路径及文件夹名 -r

  • 拷贝文件夹到另一文件夹中:cp 要拷贝的文件夹路径 拷贝到的文件夹路径

  • 移动文件:mv 要移动的文件或文件夹路径 移动到的文件或文件夹路径

  • 重命名:mv 文件或文件夹名 新文件或文件夹名

2.3、命令选项

1)ls命令选项

命令选项说明
-l以列表方式显示,默认是字节
-h智能的显示文件大小
-a显示隐藏文件和隐藏文件夹
--full-time格式化的显示时间信息
-t根据时间排序文件
-f显示文件后缀,/结尾文件夹,.结尾可执行文件
-d显示文件夹本身信息,不显示内部的
-S(大写)根据文件大小排序

2)mkdir命令选项

  • -p 创建所依赖的文件夹(创建多级文件夹)

如:mkdir aa/bb/cc -p

3)rm命令选项

命令选项说明
-i交互式提示(提示删除)
-r递归删除目录及内容
-f强制删除,忽略不存在的文件,无需提醒

4)cp命令选项

命令选项说明
-i交互式提示(提示是否覆盖相同的文件)
-r递归拷贝目录及内容
-v显示拷贝后的路径描述

5)mv命令选项

命令选项说明
-i交互式提示(提示是否覆盖相同的文件)
-v显示移动后的路径描述

2.4、wc命令

可通过wc命令统计文件行数,单词数量等

wc [-c -m -l -w]  文件路径
  • -c :统计bytes数量

  • -m :统计字符数量

  • -l :统计行数

  • -w :统计单词数量

2.5、echo与反引号

可以使用echo命令在命令行中输入指定内容

1)echo语法:echo 要输出的内容

注意:如果带有空格或者其他特殊符号,建议使用双引号包围,echo只要一个参数,不用双引号不影响

2)反引号(`):

直接输入echo pwd 会将pwd作为内容输出,使用反引号包围,可以将其内容作为命令执行

2.6、systemctl命令

systemctl [start | stop | status | enable | disable] 服务名称
  • start:启动

  • stop:关闭

  • status:查看状态

  • enable:开启开机自启

  • disable:关闭开机自启

2.7、cut命令

在文件的每一行中提取片段

cut [参数] [数值区间] 文件名
参数说明
-b(-c)以字节(字符)为单位分割
-n取消分割多字节字符,与-b一起使用
-d自定义分割符,默认以tab为分割符
-f与-d一起使用,指定显示第几个,后更数值区间
数值区间说明
n第n个字符,字节或字段,从1开始计算
n-从第n 个开始到行尾
n-n从第n个开始到第n个
-n从行头第一个到第n个

案例:

1、截取每一行的第4个字符
cut -c 4 文件名
​
2、截取每一行的4到6个字符
cut -c 4-6 文件名
​
3、截取每一行的第5个和第7个字符
cut -c 5,7 文件名
​
4、指定分割符进行截取
cut -d '分割符' -f 区间范围 文件名

2.8、sort命令

sort [选项] 文件名
选项说明
-n根据字符串数值比较(第一个字符)
-r逆序输出排序结果
-u对排序结果进行去重
-t指定分割符号
-k指定区域

案例:

1、根据文件第一个字符进行排序,默认从小到大
sort -n 文件名
​
2、对文件结果进行翻转
sort -nr 文件名
​
3、对排序结果进行去重
sort -u 文件名
​
4、指定分割符,指定区域进行排序
sort -t '.' -k 数值区域 文件名

2.9、uniq命令

uniq命令可以输出重复的行,常用sort结合使用

uniq [选项] 文件名
选项说明
-c统计重复项出现的次数进行显示
-d只输出重复行
-u只显示不重复的行

案例:

1、去除连续的重复行
uniq 文件名
​
2、结合sort去重更准确
sort -n 文件名 | uniq
​
3、结合sort去重更准确,并显示重复的次数
sort -n 文件名 | uniq -c
​
4、只显示重复的行,并统计次数
sort -n 文件名 | uniq -c -d
​
4、只显示不重复的行,并统计次数
sort -n 文件名 | uniq -c -u

2.10、curl和wget命令

发送网络请求命令或下载网络文件

格式:curl [-o] url
格式:wget [-b] url
  • -o:用于下载文件,当URL是下载链接时,可以使用此选项进行保存文件

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

  • url:要发起请求的网络地址

向cip.cc发送网络请求,获取主机公网IP和信息

curl cip.cc

三、高级命令

3.1、重定向命令

重定向:也称输出重定向,把在终端执行命令的结果保存到目标文件

命令说明
> 文件名如果文件存在,会覆盖原有的文件内容,相当于文件操作中的w模式
>> 文件名如果文件存在,会追加写入文件末尾,相当于文件操作中的a模式

列如:ls > text.txt 表示将ls操作后显示的内容写入到text.txt文件中

3.2、查看文件内容命令

命令说明
cat查看小型文件
more查看大型文件
|管道,一个命令的输出可以通过管道作为另一个命令的输入,相当于容器
tac从后往前查看内容(与cat相同)
less与more用法相同

使用格式:使用的命令 文件名

功能说明
查看文件内容cat 文件名
多个文件合并cat 文件1 文件2 > 合并后的文件
交互式编辑或追加内容cat >> 文件名 << EOF(写入以EOF结尾回车保存)
清空文件内容> 文件名

more命令的使用:

  • 回车:显示下一行信息

  • b:显示上一屏信息

  • f:显示下一屏信息

  • q:退出

管道格式:左边的内容作为右边的输入

  • 统计文件中指定关键字的行数:

    cat 文件名 | grep 关键字 | wc -l
  • 统计文件中指定关键字的单词数:

    grep 关键字 文件名 | wc -w

3.3、查找文件内容命令

命令说明
grep查找,搜索文件内容
tail查看文件尾部内容
head查看文件头部内容

使用格式:grep 要查找的内容 要查找的地方

1)grep命令选项:

  • -v :显示不包含匹配文本的所有内容

  • -n:显示匹配行号

  • -i:忽略大小写

2)grep命令结合正则表达式:

正则表达式说明
^以指定字符串开头
$以指定字符串结尾
.匹配一个非换行的任意字符

如:grep ^h a.txt 表示在a.txt文件中找以h开头的内容

3)tail和head命令:

# 格式:tail [-f -num] 文件路径
# 格式:head [-f -num] 文件路径
  • -f :表示持续跟踪-----只有tail有这个参数head没有

  • -num :表示查看尾部多少行,默认10行

3.4、软连接

1)软连接:类似于Windows下的快捷方式,当一个源文件的目录层级很深,想要方便使用就可以创建一个软连接

命令说明
ln -s创建软连接
ln -s 文件路径  创建的软连接名称

注意:创建软连接时,建议使用绝对路径,如果发生移动,创建的软连接方式可能会失效

3.5、查找文件命令

命令说明
find在指定目录下找到符合条件的文件(名称查询)
which查看所使用的命令位置

which格式:which 要查找的命令

1)find命令选项:

  • -name:根据文件名查找文件

    # 格式:find 起始路径 -name “被查找的文件名”
  • -size:根据文件大小查询文件

    # 格式:find 起始路径 -size +/-文件大小
    ​
    # 更目录下查找小于10KB的文件:
    find / -size -10k
    ​
    # 根目录下查找大于100MB的文件:
    find / -size +100M
    ​
    # 根目录下查找大于1GB的文件:
    find / -size +1G

注意:k(小写)表示KB,M表示MB,G表示GB

2)通配符:是一种特殊的语句,不是正则表达式,主要有星号(*)和问号(?),用来模糊搜索文件

通配符说明
*代表0个或多个任意字符
代表任意一个字符
[abc]表示abc中的任意一个
[a-z]表示a到z中的任意一个

3.6、压缩和解压缩

1)压缩格式:

  • .gz:压缩包后缀(时间快,压缩的不小)

  • .bz2:压缩包后缀(压缩的小浪费时间)

2)tar命令:

命令说明
tar压缩和解压缩命令

3)tar命令选项说明:

tar命令选项说明
-c创建打包文件
-v显示打包或者解包的详细信息
-f指定文件名称,必须放到所有选项后面
-z压缩为.gz格式
-j压缩为.bz2格式
-x解压缩
-C解压缩到指定目录

3.7、软件的安装与卸载

yum [-y] (install | remove | search) 软件名称
apt [-y] (install | remove | search) 软件名称

1)软件安装:

安装方式格式
Ubuntu在线安装sudo apt install 安装包名
CentOS在线安装sudo yum install 安装包名

注意:apt-get默认从国外服务器下载软件

2)软件卸载:

卸载方式格式
Ubuntu在线卸载sudo apt remove 包名
CentOS在线卸载sudo yum remove 包名

注意:linux系统和本机软件的操作,rz,sz命令通过yum install lrzsz安装此命令,rz进行文件上传,sz进行文件下载

3.8、vim命令

vim:是一款强大的文本编辑器

格式:vim 文件路径 ------- 如果文件不存在,则编辑新文件,如果文件存在,则编辑已有文件

1)vim的工作模式:

  • 命令模式、编辑模式、末行模式

注意:vim打开进入的是命令模式,编辑模式和末行模式不能直接进行切换,都要同过命令模式切换

切换方式:

  • 命令模式---编辑模式:输入i

  • 编辑模式---命令模式:ESC

  • 命令模式---末行模式:输入:(冒号)

  • 末行模式---命令模式:ESC

2)末行模式命令:

  • :w -----保存,没有退出

  • :wq ------保存退出

  • :x -------保存退出

  • :q! ------强制退出,不保存

  • :set nu-----显示行号

  • :set paste-----设置粘贴模式,从外部粘贴的内容格式不变

3)命令模式快捷命令:

在命令模式下直接输入描述
a在当前光标之后进入输入模式
o(O)当前光标的下(上)一行进入输入模式
/进入搜索模式
n(N)向下(上)继续搜索
dd删除光标所在行的内容
ndd删除当前光标向下n行内容
yy复制当前行
nyy复制光标向下的n行内容
p粘贴
gg(G)跳到首行(行尾)
dG从当前行开始向下全部删除
dgg从当前行开始向上全部删除
d$(d0)当前光标开始,删除到本行结尾(开头)

3.9、端口netstat命令

Nmap:查看端口的占用情况--不是系统自带的程序,如果没有需要安装yum -y install nmap

语法:nmap 被查看的IP地址 

Netstat:查看指定端口的占用情况

语法:netstat -anp | grep 端口号
# 查看所有的端口:
netstat -tunlp
# 查看指定服务的端口信息
netstat -tunlp | grep "nginx"

3.10、进程操作

1)查看进程:

# 查看所有的进程信息:
ps -ef              # ps是检查进程的命令,-ef表示参数, 此命令查看所有的进程信息
​
# 查看指定应用的进程信息
ps -ef | grep 'nginx'

显示的进程信息从左到右依次是:

  • UID:进程所属的用户

  • PID:进程的进程号ID

  • PPID:进程的父ID(启动此进程的其它id)

  • C:此进程的CPU专用率

  • STIME:进程的占用时间

  • TTY:启动此进程的终端序号,如果显示?表示非终端启动

  • T IME:进程占用cpu的时间

2)关闭进程:

格式:kill [-9] 进程ID

选项-9表示强制关闭进程,不使用此选项会向进程发送信号要求关闭,但能否关闭需要看进程自身的处理机制

四、Linux用户和权限

4.1、获取管理员权限命令

  • whoami命令-------查看当前用户

  • hostname -------显示当前主机的主机名

  • logout ------退出当前用户

  • ifconfig------查看ip地址,如果无法查看,需要下载net-toos

sudo命令使用:

centOs切换到root用户: su - root

命令说明
sudo -s切换到root用户,获取管理员用户
sudo某个命令执行需要获取管理员权限可以在命令前加上sudo

为普通用户添加sudo认证:

  • 切换到root用户,执行visudo命令,或者通过vi编辑器打开:/etc/sudoers

  • 在文件尾部添加:用户名 ALL = (ALL) NOPASSWD:ALL

4.2、用户及用户组

1)用户组:用户组的创建和删除需要在root权限下执行

  • 创建用户组:

    groupadd 用户组名
  • 删除用户组:

    groupdel 用户组名

2)用户管理:在root用户下执行

  • 创建用户:

    useradd 用户名 [-g -d]
    选项说明
    -g 要加入的用户组如果不指定用户组默认创建同名的用户组
    -d 指定用户的home路径不指定默认在/home/用户
  • 删除用户:

    userdel [-r] 用户名
    选项说明
    -r删除用户的同时删除home目录
  • 查看用户组:不指定用户名表示查看当前用户

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

    getent passwd
    genent group
  • 修改用户所属的组---将指定的用户名加入指定的用户组

    usermod -aG 用户组 用户名

4.3、修改权限信息

1)chmod命令------修改文件及文件夹的权限信息

chmod  [-R]  权限  文件或文件夹
选项说明
-R表示对文件夹中的全部内容做同样的操作

示列:将文件夹test以及文件夹内的全部内容权限设置为:rwxr-x--x

注意:u表示用户权限,g表示用户组权限,o表示其他用户去权限

chmod -R u=rwx,g=rx,o=x test
chmod -R 751 test

权限的数字序号:r代表4,w代表2,x代表1

2)chown命令-----修改文件及文件夹所属的用户和用户组

chown [-R] [用户] [:] [用户组] 文件或文件夹

示列:

  • 将hello.txt所属用户改为root---只修改文件的用户

    chown root hello.txt
  • 将hello.txt所属用户组修改为root---只修改文件的用户组

    chown : root hello.txt
  • 将hello.txt所属用户修改为root,所属组修改为ft

    chown root:ft hello.txt
  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值