Linux日常使用

Linux命令简介

常用命令

序号 命令 对应英文 作用
01 ls list 列出所有内容
02 pwd print work directory 查看所在路径
03 cd [目录名] change directory 切换文件夹
04 touch [文件名] touch 文件不存在则新建,存在则修改日期
05 mkdir [目录名] make directory 创建目录
06 rm [文件名] remove 删除指定的文件
07 clear clear 清屏

命令格式

command [-options] [parameter]

说明:

  • command: 命令
  • -options: 选项,多个选项可以写-a -b,也可以写-ab,顺序无关
  • parameter: 参数

查阅帮助

--help

command --help

man

man command

man是manual缩写,手册,包含详细说明

实用技巧

自动补全

  1. Tab自动补全命令
  2. 有歧义时再按一下Tab给提示

曾经使用过的命令

  1. 按上下箭头切换历史命令
  2. ctrl+c取消当前输入命令

目录和文件命令

ls 命令说明

  • .开头的文件为隐藏文件,需要用 -a选项查看。
  • .代表当前目录
  • ..代表上级目录
选项 含义
-a 查看所有文件,包括隐藏文件
-l 查看可见文件
-h 查看文件时,体积带单位。ls -l -hls -lh
通配符 含义
* 任意个字符
? 一个或多个字符
[] 可以匹配字符组中任意一个
[abc] 匹配a, b, c中的任意一个
[a-f] 匹配从a到f范围内的任意一个

cd 切换目录

命令 含义
cd 切换到用户主目录
cd ~ 切换到用户主目录
cd . 保持当前目录不变
cd .. 切换到上级目录
cd - 可以在最近两次工作目录之间来回切换
  • 绝对路径:以/~开头
  • 相对路径:不是以/~开头

mkdir 创建目录

Linux中的文件和目录不可同名 ,新建目录不能与文件同名。

选项 含义
-p 创建路径目录mkdir -p a/b/c/file

rm 删除文件或目录

rm删除后不能恢复,谨慎操作。

参数 含义
-r 删除目录及子目录所有文件
-f 强制删除,不给提示

tree 树形结构显示

需要安装tree:apt install tree

选项 含义
-d 只查看目录

参数可选,参数为tree查看目录

cp 拷贝

copy

cp 源 目标
选项 含义
-i 覆盖文件前提示
-r 如果目标不存在,则作为目录创建,并拷贝源下所有文件到目录;如果目标已存在并且是个目录,则拷贝整个源到此目录下

mv 移动

move,可用来重命名
假如目标已存在,会发生覆盖

选项 含义
-i 覆盖文件前提示

文件内容命令

命令 英文 作用
cat 文件名 concatenate 查看全部文件内容
more 文件名 more 不会全部一次显示,分屏显示
grep 搜索文本 文件名 grep 搜索文本内容

more

使用more的操作键

操作键 功能
空格键 显示下一屏
Enter 滚动一行
b 回上一屏
f 前进一屏
q 退出

cat

选项 含义
-b 给非空行编号
-n 无论是否空行都编号

grep 模式查找

模式指正则表达式
如果要搜索的内容有空格,需要用引号括起搜索目标

选项 含义
-n 带行号
-v 查找非包含的结果
-i 忽略大小写

echo

在终端中显示参数指定的文字,通常和重定向联合使用
echo 参数

重定向“>”和“>>”

将命令执行结果重定向到一个文件

  • > 输出到目标文件,完全覆盖目标文件内容
  • >> 追加内容到目标文件
ls -lh > a.txt
echo Hello > a.txt
echo world! >> a.txt

管道“|”

  • Linux允许将一个命令的输出通过管道做为另一个命令的输入
  • 第一个命令|第二个命令
    常用管道的命令有:
  • more分屏显示内容
  • grep查询文本
ls -lh | grep .txt$

远程管理命令

关机和重启

命令 英文 作用
shutdown shutdown 关机/重启
选项 含义
-r 重启
参数 含义
now 现在执行。如果不指定参数,默认表示1分钟之后关闭系统
20:25 指定时间
+10 十分钟后,单位是分钟
-c 取消之前指定的关机计划

查看或配置网卡信息

如果把电脑比作电话,那么网卡相当于SIM卡,IP地址相当于电话号码

命令 英文 作用
ifconfig configure a network interface 查看或配置网卡
ping ip地址 ping 检测到指定ip地址的连接是否正常

ifconfig

inet addr:x.x.x.x 是网卡IP地址

ifconfig | grep inet

127.0.0.1是本地回环/环回地址,用来测试本机网卡是否正常

ping

# 检测到目标主机
ping IP地址

# 检测本地网卡是否正常
ping 127.0.0.1

ctrl + c取消ping
ping的工作原理与潜水艇声纳相似,ping取自声纳的声音
网管常将ping用作动词,ping一下这台机,看是它是否开着

SSH

Secure Shell 协议。
数据传输是加密的,并且压缩。可防止DNS欺骗和IP欺骗。

通过IP找到网络上的计算机,通过端口号找到相应的服务端程序

常见默认端口号

服务 端口
SSH服务 22
Web服务 80
HTTPS服务 445
FTP服务 21
ssh [-p port] user@remote
  • user是远程机器上的用户名,如果不指定默认为当前用户
  • remote是远程机器地址,可是IP,域名,或别名
  • port是SSH服务监听端口,如果不指定,默认是22

生成SSH密钥对:

ssh-keygen

把公钥传到要登录的目标机

ssh-copy-id user@remote

非对称加密

  • 使用公钥加密的数据,需要使用私钥解密
  • 使用私钥加密的数据,需要使用公钥解密

在给user传输第一个公钥时,要输入user的密码,如果密码正确,但还是出现

Permission denied, please try again.

则编辑Linux下的/etc/ssh/ssh_config文件,开启密码访问权限

PasswordAuthentication yes

注意如果前面有#号把这行注释了,就要去掉#。
编辑文件方法:

  1. 用vi打开文件vi /etc/ssh/ssh_config
  2. i进入编辑模式,修改好
  3. esc退出编辑模式,按:进入末行模式,输入wq保存并退出

配置地址别名

~/.ssh/config追加以下内容:

Host 别名
  HostName ip地址
  User 用户名
  Port 端口

配置好后,使用别名代替地址:

ssh 别名

scp (secure copy)

  • 用于远程拷贝文件
  • 地址格式与ssh基本相同,只是指定端口时用的是大写-P
选项 含义
-P 指定端口
-r 可以拷贝文件夹

scp 端口 源 目标

scp -P port aa.txt user@remote:Desktop/aa.txt 
scp -P port user@remote:Desktop/aa.txt aa.txt

加上 -r 可以传送文件夹

scp -r demo user@remote:Desktop
scp -r user@remote:Desktop demo

用户权限命令

对文件和目录的权限

权限 英文 缩写 数字代码
read r 4
write w 2
执行 excute x 1

ls -l 的结果

drwxr-xr-x  2 root root 4096 Oct  2 23:03 Doc

分别是:

  • 权限
  • 硬连接数
  • 拥有者
  • 体积大小
  • 日期时间
  • 名称

权限

权限示意图.png

硬连接数

硬连接数代表有多少种方式路径可以到达。
1的时候,是文件,只有绝对路径
2的时候,是绝对路径 + 当前目录.号,两种方式
3以上的时候,是因为这个目录有一个或多个子目录,还可以通过在子目录中使用..的方式到达。

chmod

  • chmod可以修改用户或组文件或目录的权限
  • 格式:chmod +/-rwx 文件名|目录名。+表示增加权限,-删除权限

如果把目录的可执行权限x去掉,就不能再对目录执行命令,不能cd,也不能ls,无法访问。对目录的读和写都需要有执行权限为前提。

超级用户

  • Linux系统中的root账号通常用于系统的维护和管理,对所有资源具有访问权限。
  • 一般不使用root,而使用其它标准用户账号。

sudo

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

组管理命令

创建组和删除组都需要超级用户权限,因为需要修改/etc/group文件。

命令 作用
groupadd 组名 添加组
groupdel 组名 删除组
cat /etc/group 查看组信息
chgrp -R 组名 文件/目录名 递归修改文件/目录所属组

用户管理命令

创建删除

命令 作用 说明
useradd -m -g 组 用户名 添加新用户 -m 自动建立用户主目录 -g 指定组,不指定则创建一个同名的组
passwd 用户名 设置用户密码 如果是普通用户,直接passwd可以修改密码
cat /etc/passwd 确认用户信息 新建用户后,信息会保存在passwd文件中
userdel -r 用户名 删除用户 -r选项自动删除用户主目录

passwd文件

存放的就是用户的信息,由6个分号组成的7个信息

leon:x:1000:1000::/home/leon:

分别是:

  • 用户名
  • 密码(x,表示加密的密码)
  • UID(用户标识)
  • GID(组标识)
  • 用户全名或本地账号,空表示全名即账号名
  • 主目录(家目录)
  • 登录使用的Shell,就是登录之后,使用的终端命令,ubantu默认是dash。可以改成/bin/bash,显示友好点。

查看用户

命令 作用
id [用户名] 查看用户UID和GID
who 查看当前所有登录的用户列表
whoami 查看当前用户的账户名

usermod

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

设置了用户的附加组后,需要重新登录才能生效

# 修改主组
usermod -g 组 用户名
# 修改附加组
usermod -G 组 用户名
# 修改用户登录Shell为bash
usermod - s /bin/bash 用户名

which

  • which命令可以查看某个命令所在的位置
which ls
# 输出:/bin/ls

which passwd
# 输出:/usr/bin/passwd

which useradd
#输出:/usr/sbin/useradd

bin和sbin

  • 在Linux中,绝大多数的可执行文件都保存在/bin, /sbin, /usr/bin, /usr/sbin
  • /bin (binary)是二进制可执行文件目录,主要用于具体应用
  • /sbin (system binary)是系统管理员专用二进制执行文件目录
  • /usr/bin (user commands for applications)后期安装的一些软件
  • /usr/sbin (super user commands for applications)超级用户的一些管理程序

切换用户

命令 作用 说明
su - 用户名 切换用户,并且切换目录 写上“-”可以切换到目标用户的home
exit 退出当前用户 回到切换之前的用户。有多少次su,就可以有多少次exit
  • su不接用户名,可以切换到 root

修改文件权限

命令 作用
chown 修改拥有者
chgrp 修改组
chmod 修改权限

格式如下:

# 修改文件或目录拥有者
chown 用户名 文件名|目录名

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

#  递归修改权限
chmod -R 755 文件名|目录名

chmod的数字表示法

  • chmod设置权限时,用三个数字表示拥有者,组,其他 三种用户的权限
  • 比如7就表示可读可写可执行,5表示可读可执行,4表示可读
文件权限示意图.png

系统信息命令

时间和日期

命令 作用
date 查看系统时间
cal calendar查看日历,-y选项查看一年日历

磁盘信息

命令 作用
df disk free 显示磁盘剩余空间
du [目录名] disk usage 显示空间占用
选项 含义
-h 带单位,提高可读性

进程信息

命令 作用
ps aux process status 查看进程详细状况
top 动态显示运行中的进程并且排序 。输入q退出top
kill [-9] 进程代号 终止进程,-9强制终止

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

ps命令的选项,不需要带“-”号:

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

其他命令

find查找文件

命令 作用
find [路径] -name "*.txt" 查找指定路径下名字匹配所指定模式的文件

软链接

命令 作用
ln -s 被链接的源文件 链接文件 建立文件的软链接,类似快捷方式
  • 没有-s选项建立的是硬链接文件
  • 源文件要使用绝对路径,这样方便移动链接文件后,仍然能够正常使用

硬链接

在使用ln创建链接时,如果不使用-s选项,就会创建一个硬链接。
在删除了源文件后,软链接失效,但是硬链接还能访问。

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

文件软硬链接示意图.png

打包压缩

  • Windows常用rar
  • Mac常用zip
  • Linux常用tar.gz

打包/解包

  • tar是常用的备份工具,可以把一系列文件打包到一个大文件中,也可以把一个大文件恢复成一系列文件。tar只负责打包,不负责压缩。
# 打包
tar -cvf 打包文件.tar 被打包的文件/路径...

# 解包
tar -xvf 打包文件.tar

tar选项说明:

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

压缩/解压缩

  • gzip可以压缩tar文件,完成后扩展名一般用xxx.tar.gz
  • 命令格式:
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径
# 解压缩
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径

bzip2(two)

可以压缩成bz2格式:xxx.tar.bz2
tar命令中有一个选项-j,可以调用bzip2

# 压缩
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径
# 解压缩
tar -jxvf 打包文件.tar.bz2

软件安装

apt

  • apt是Advanced Packaging Tool,Linux下的安装包管理工具

安装:

sudo apt install 软件包

安装前先更新一下apt:apt update

卸载:

sudo apt remove 软件包

更新包:

sudo apt upgrade

安装一个小火车提示:

sudo apt install sl

安装一个比较彩色的更好看的看进程软件

sudo apt install htop
htop

你可能感兴趣的:(Linux日常使用)