Linux常用命令

Linux 常用命令

一. 文件与目录管理命令

01.查看与切换

1.1 ls
参数含义
-a显示指定目录下所有的子目录与文件,包括隐藏文件
-l以列表方式显示文件详细信息
-h配合-l 以人性化的方式显示文件大小
1.2 通配符的使用
通配符含义
*代表任意个数个字符
代表任意一个字符,至少1个
[]表示可以匹配字符组中的任意一个
[abc]匹配啊a、b、c中的任意一个
[a-f]匹配从a到f范围内的任意一个字符
1.3 cd
命令含义
cd切换到当前用户的主目录(/home/用户目录)
cd ~切换到当前用户的主目录(/home/用户目录)
cd .保持在当前目录不变
cd …切换到上级目录
cd -可在最近两次工作目录之间来回切换

02. 文件的创建与删除

2.1 touch
  • 在当前目录下创建新文件或修改文件末次修改日期
2.2 mkdir
  • 创建一个新的目录
选项含义
-p可以递归创建目录

新建目录的名称 不能与当前目录中___已有的文件或目录___同名

2.3 rm
  • 删除文件或目录

rm 命令删除文件后不能恢复

参数含义
-f强制删除,忽略不存在的文件,无需显示
-r递归地删除目录下的内容,删除文件夹 时必须加此参数

03. 拷贝与移动文件

序号命令对应英文作用
01tree[目录名]tree以树状图列出文件目录结构
02cp 源文件 目标文件copy复制文件或者目录
03mv 源文件 目标文件move移动文件或者目录/文件或者目录重命名
3.1 tree
  • tree 命令可以以树状图列出文件目录结构
选项含义
-d只显示文件夹
3.2 cp
  • cp 命令的功能是将给出的__文件__或__目录__复制到另一个__文件__或__目录__中,相当于__DOS__下的copy命令
选项含义
-f已经存在的目标文件直接覆盖,不会提示
-i覆盖文件前提示
-r若给出的源文件是目录文件,则__cp__将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
3.3 mv
  • mv 移动文件或者目录/文件或者目录重命名
选项含义
-i覆盖文件前提示

04 查看文件内容

序号命令对应英文作用
01cat 文件名concatenate查看文件内容,创建文件,文件合并,追加文件内容等功能
02more 文件名more分屏显示文件内容
03grep 搜索文本文件名grep搜索文本内容
4.1 cat
选项含义
-b每行前面显示行数,空行不显示
-n空行显示
4.2 grep
  • grep 允许对文本文件进行__模式__查找,所谓模式查找,又被称为正则表达式
选项含义
-n显示匹配行及行号
-v显示不包含匹配文本的所有行(相当于求反)
-i忽略大小写
  • 常用的两种查找模式
参数含义
^a行首,搜寻以a开头的行
ke$行尾,搜寻以ke结束的行

05. 其他

5.1 echo
  • echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
5.2 重定向 > 和 >>
  • Liunx 允许将命令执行结果 重定向 到一个文件
  • 将本应显示在__终端上的内容 输出/追加 __ 到__指定文件中__

其中

  • > 表示输出,会覆盖文件原有内容
  • >> 表示追加,会将内容追加到已有文件的末尾
5.3 管道 |
  • Linux 允许将__一个命令的输出__ 可以__通过管道__ 作为__另一个命令的输入__

常用的管道命令有:

  • more 分屏显示内容
  • grep 在命令执行结果的基础上查询指定的文本

二. 远程管理常用命令

相关内容:

  • 关机/重启
    • shutdown
  • 查看或配置网卡
    • ifconfig
    • ping
  • 远程登录和复制文件
    • ssh
    • scp

01.关机/重启

序号命令对应英文作用
01shutdown 选项 时间shutdown关机/重新启动
1.1 shutdown
  • shutdown 命令可以 安全 关闭或__重新启动电脑__
选项含义
-r重新启动

提示:

  • 不指定选项和参数,默认表示__1分钟__之后__关闭电脑__
  • 远程维护服务器时,最好不要关闭系统,而应该重新启动系统
  • 用__now__表示立刻执行

02. 查看或配置网卡信息

2.1网卡和IP地址

网卡:

  • 网卡……
  • IP地址是设置在网卡上的地址信息

IP地址

  • 每台电脑都有独立的IP地址,且各不相同
2.2 ifconfig
  • ifconfig 可以查看/配置计算机当前的网卡配置信息
  • 通常以ifconfig |grep inet 来过滤查找IP地址
  • 127.0.0.1 被称为 本地回环/环回地址,一般用来测试本机为网卡是否正常
2.3 ping

0.3 远程登录和复制文件

序号命令对应英文
01ssh [-p 端口] 用户名@IPsecure shell
02scp 用户名@IP:文件名或路径 用户名@IP:文件名或路径secure copy
3.1 ssh

简单使用格式:

ssh [-p port] user@remote

  • user 是远程机器上的用户名,如果不指定的话默认为当前的用户
  • remote 是远程机器的地址,可以是__IP/域名__ ,或者是 其他别名
  • portSSH Server 监听的端口,如果不指定,就默认值为22

提示:

  • 使用exit 退出当前用户登录

注意:

  • ssh 命令只能在Linux 或者unix 系统下使用
  • Windows 安装PuTTy 或者XShell
3.2 scp
  • scp 是在Linux 下用的__远程拷贝文件__ 的命令
  • 他的地址格式与 ssh 基本相同,需注意的是,在指定端口时用的是大写的-P 而不是小写的
选项含义
-r若给出的源文件是目录文件,则scp将递归复制该目录下的所有文件和子目录,目标文件必须为一个目录名
-p若远程ssh 服务器端口不是 22 ,需要使用大写的字母 -p 选定指定的端口
3.3 SSH 高级

提示:有关SSH 配置信息都保存在用户家目录下的.ssh 目录下

1)免密码登录

  • 配置公钥
    • 执行ssh-keygen 即可生成SSH 钥匙,回车即可
  • 上传公钥到服务器
    • 执行ssh-copy-id -p port user@remote ,可以让远程服务器记住我们的公钥

2)配置别名

  1. ~/.ssh/ 创建 config 文件
  2. 在里面追加以下内容:
Host new_name
	HostName ip
	User old_name
	Port 22
  1. 保存之后,就可以用ssh new_name 实现远程登录了,scp 同样可以使用

三. 用户权限

01. 用户 和权限 的基本概念

1.1 基本概念
  • 用户 是Linux系统工作中重要的一环,用户管理包括 用户和组的概念
  • 在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同权限
  • 在Linux中,可以指定 每一个用户针对不同的文件或者目录 的不同权限
  • 对文件/目录 的权限包括:
序号权限英文缩写数字代号
01readr4
02writew2
03执行excutex1
1.2 组
  • 为了方便用户管理,提出了组的概念,如: 开发组
  • 在实际应用中,可以预先针对 组 设置好权限,然后 将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限
1.3 ls -l 的扩展
  • ls-l 可以查看文件夹下的详细信息,从左到右依次是:
    • 权限 ,第1个字符如果是 d 表示目录
    • 硬链接数 ,通俗的讲,就是有多少种方式,可以访问到当前的目录/文件
    • 拥有者 ,家目录下 文件/目录 的拥有者通常是当前的用户
    • ,在Linux中,很多时候,会出现组名和用户名相同的情况
    • 大小
    • 时间
    • 名称
目录拥有者权限组权限其他用户权限
文件-rw-rw-r--
目录drwxrwxr-x
1.4 chmod
  • chmod 可以修改 用户/组 对文件/目录 的权限
  • 命令格式如下:

chmod +/- rwx 文件名|目录名

注:只能简单的修改文件的权限,不能精确到 用户/组/其他用户 的权限

1.5 超级用户
  • Linux 系统中的root 账号通常 用于系统的维护和管理,对操作系统的所有资源 具有所有访问权限

sodu

  • susubstitute user 的缩写,表示使用另一个用户的身份
  • sudo 命令用来以其他身份来执行命令,预设的身份为root
  • 用户使用sudo 时 ,必须先输入密码,之后有5分钟的有效权限,超过期限必须重新输入密码

若未经授权的用户企图使用sudo ,则会发出警告邮件给管理员

02. 组管理 终端命令

提示:创建组/删除组 的终端命令都需要通过 sudo 执行

序号命令作用
01groupadd 组名添加组
02groupdel 组名删除组
03cat / etc / group确认组信息
04chgrp 组名 文件/目录名修改文件/目录的所属组

提示:

  • 组信息保存在/etc/group 文件中
  • /etc 目录是专门用来保存 系统配置信息 的目录

03.用户管理 终端命令

提示:创建用户/删除用户/修改其他用户密码 的终端命令都需要通过sudo 执行

3.1 创建用户/设置密码/删除用户
序号命令作用说明
01useradd -m -g 组 新建用户名添加新用户-m 自动建立用户家目录 -g 指定用户所在的组,否则会建立一个同名的组
02passwd 用户名设置用户密码如果是普通用户,直接使用passwd 可以修改自己的账户密码
03userdel -r 用户名删除用户-r 选项会自动删除用户家目录
04**cat /etc/passwd |grep 用户名 **确认用户信息新建用户后,用户信息会保存在 /etc/passwd 文件中

提示:

  • 创建用户时,如果忘记添加-m 选项指定新用户的家目录——最简单的方法就是删除用户,重新创建
  • 创建用户信息时,默认会创建一个和用户名一样的组名
  • 用户信息保存在/etc/passwd 文件中
3.2 查看用户信息
序号命令作用
01id [用户名]查看用户UID 和 GID
02who查看当前所登录的用户列表
03whoami查看当前登录用户的帐户名

passwd 文件

/etc/passwd 文件存放的是用户的信息,有 6 个分号组成的 7 个信息,分别是:

  1. 用户名
  2. 密码(x,表示加密的密码)
  3. UID (用户标识)
  4. GID (组标识)
  5. 用户全名或本地账号
  6. 家目录
  7. 登录使用的shell,就是登录之后,使用的终端命令,ubuntu 默认dash

usermod

  • usermod 可以用来设置 用户主组 /附加组登录shell,命令格式如下:
  • 主组:通常在新建用户时指定,在etc/passwd 的第 4 列 GID 对应的组
  • 附加组,在etc/group 中的最后一列表示该组的用户列表,用于指定 用户的附加权限

提示设置了用户的附加组之后,需要重新登陆才能生效!

# 修改用户的主组 (passwd 中的GID)

  • usermod -g 组 用户名

# 修改用户附加组

  • usermod -G 组 用户名

# 修改用户登录 shell

  • usermod -s /bin/bash

注意: 默认使用useradd 添加的用户是没有权限使用sudoroot 身份执行命令的,可以使用以下命令,将用户添加到sudo 附加组中

  • usermod -G sudo 用户名

which

提示

  • /etc/passwd 适用于保存用户信息的文件
  • /uer/bin/passwd 是用于修改用户密码的程序
  • which 命令可以查看执行命令所在位置,例如:

    which ls
    
    # 输出
    #/bin/ls
    
    which useradd
    
    #输出
    #/user/sbin/useradd
    

    bin 和 sbin

  • 在Linux 中,绝大多数可执行文件都是保存在/bin/sbin/user/bin

  • /bin(binary) 是二进制执行文件目录,主要用于具体应用

  • /sbin(system binary) 是系统管理员专用的二进制代码存放目录,主要用于系统管理

  • /user/bin (user commands for applications ) 后期安装的一些软件

  • /user/sbin (super user commands for applicaton ) 超级用户的一些管理程序

提示:

  • cd 这个终端命令是内置在系统内核中的,没有独立的文件,因此用which 无法找
3.3 切换用户
序号命令作用说明
01su -用户名切换用户,并切换目录- 可以切换到家目录,否则保持位置不变
02exit退出当前目录
  • su 不接用户名,可以切换到 root , 但不推荐使用,因为不安全
  • exit 示意图如下:

04. 修改文件权限

序号命令作用
01chown修改拥有者
02chgrp修改组
03chmod修改权限
  • 命令格式如下:
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名

#递归修改文件|目录的组
chgrp -R 组名 文件名|目录名

#递归修改文件权限
chmod -R 755 文件名|目录名
  • chmod 在设置权限时,可以简单的使用三个数字分别对应 拥有者 /组 ** 和其他** 用户权限
rwx
421
  • 多种权限只需将对应的数字相加,如:
    • 7 5 5 分别对应着 拥有者 (r-w-x) (r–x)其他 (r–x)

四. 系统信息相关命令

  • 时间与日期
    • date
    • cal
  • 磁盘与目录空间
    • df
    • du
  • 进程信息
    • ps
    • top
    • kill

01.时间与日期

序号命令作用
01cal查看日历,-y 选项可以查看一年的日历
02date查看系统时间

02. 磁盘信息

序号命令作用
01df -hdisk free 显示磁盘剩余空间
02du -h [目录名]disk usage 显示目录文件下的文件大小
  • 选项说明
参数含义
-h以人性化的方式显示文件大小

03. 进程信息

  • 所谓 进程,就是 当前正在执行的一个程序
序号命令作用
01ps a/u/xprocess status 查看进程的详细情况
02top动态显示运行中的进程并且排序
03kill [-9] 进程代号终止指定代号的进程,-9 表示强行终止

ps 默认只会显示当前用户通过终端启动的应用程序

  • ps 选项说明
选项含义
a显示终端上的所有进程,包括其他用户的进程
u显示进程的详细状态
x显示没有控制终端的进程

提示: 使用kill 命令时,最好只终止当前用户开启的进程,而不要终止root开启的进程,否则可能会导致系统崩溃

  • 要退出top 可以直接输入q 退出

五. 其他命令

目标

  • 查找文件
    • find
  • 软连接
    • ln
  • 打包和压缩
    • tar
  • 软件安装
    • apt-get

01. 查找文件

  • find 命令功能强大,通常用来在 __特定的目录下 搜索 __ 符合条件的文件
序号命令作用
01find [路径] -name “*.py"查找指定路径下扩展名是**.py** 的文件,包括子目录
  • 如果省略路径,表示在当前文件夹下查找
  • 之前学习的通配符,在使用find 命令时同时可用

02. 软链接

序号命令作用
01ln -s 被链接的源文件 链接文件建立文件的软链接,类似Windows 下的快捷方式
  • 注意:
  • 1.没有 -s 选项建立的是一个 硬链接文件
    • 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
  • 2.源文件要使用绝对路径,不能使用相对路径,这样可以方便文件移动链接文件后,仍然能够正常使用

文件软硬链接示意图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在Linux中,文件名文件的数据 是分开储存的

03. 打包压缩

  • Windows 常用rar
  • Mac 常用zip
  • Linux 常用tar.gz
3.1 打包 / 解包
  • tar 是Linux中最常用的 备份 工具,此命令可以 把一系列文件 打包到 一个大文件中
  • tar 命令格式如下:
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径……

#解包文件
tar -xvf 打包文件.tar
  • tar 选项说明
选项含义
c生成档案文件,创建打包文件
x解开档案文件
v列出归档解档的详细过程,显示进度
f指定档案文件名称,f后面一定是 .tar 文件,所以必须放选项最后

注意: f 选项必须放在最后,其它选项随意

3.2 压缩/解压缩

1)gzip

  • targzip 命令结合可以使用实现文件 打包和压缩
    • tar 只负责打包文件,但不压缩
    • gzip 压缩tar 打包后的文件,其扩展名一般用xxx.tar.gz

Linux 中,最常见的压缩文件格式就是xxx.tar.gz

  • tar 命令中有一个选项-z 可以调用gzip ,从而可以方便的实现压缩和解压缩的功能
  • 命令格式如下:
#压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径……

#解压文件
tar -zxvf 打包文件.tar.gz

#解压缩到指定的路径
tar -zxvf 打包文件.tar.gz -C 目标路径
选项含义
-C解压缩到指定目录 ,注意:要解压缩的目录必须存在

2)bzip2(two)

  • tarbzip2 命令结合可以使用实现文件 打包和压缩 (用法和gzip 一样)
    • bzip2 压缩tar 打包后的文件 ,其扩展名一般用 xxx.tar.bz2
  • tar 命令中有一个选项**-j** 可以调用 bzip2 , 从而可以方便的实现压缩和解压缩的功能
  • 命令格式如下:
#压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩文件/路径……

#解压缩文件
tar -jxvf 打包文件.tar.bz2

04. 软件安装

4.1 通过 apt 安装/卸载软件
  • apt 是Advanced Packaging Tool ,是Linux 下的一款安装包管理工具
  • 可以在终端中方便的 安装/卸载/更新软件包
#1.安装软件
$ sudo apt install 软件包

#2.卸载软件
$ sudo apt remove 软件名

#3.更新已安装的包
$ sudo apt upgrade
  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值