Linux常用命令(ubuntu18)
1.修改基本配置
1.1修改主机名
vim /etc/hostname
第一行即为主机名
1.2修改ip地址
vim /etc/network/interfaces
1.3修改ip和主机名的映射
为ip起别名
vim /etc/hosts
1.4防火墙相关
- 查看防火墙状态
sudo ufw status
2.开启某个端口,比如我开启的是8381
sudo ufw allow 8381
3.开启防火墙
sudo ufw enable
4.关闭防火墙
sudo ufw disable
[外链图片转存失败(img-rL97238C-1564830748549)(C:\Users\32996\AppData\Roaming\Typora\typora-user-images\1564731828865.png)]
5、重启防火墙
sudo ufw reload
我的Linux关闭了防火墙,重启跳过了。
6、查看端口ip
netstat -ltn
不懂这是啥信息。
2.常用快捷键
快捷键 | 说明 |
---|---|
ctrl+c | 停止进程 |
ctrl+l | 清屏 |
ctrl+r | 搜索历史命令 |
ctrl+q | 退出(没事生效) |
tab | 提示补全 |
3.日常操作命令
命令 | 说明 |
---|---|
pwd | 查看当前目录 |
date | 显示当前系统时间 |
who | 查看当前在线 |
last | 查看最近的登录历史记录 |
reboot | 重启 |
halt | 关机 |
4.文件操作命令
4.1基本命令
cd命令 切换目录
参数 | 含义 |
---|---|
cd | 进入用户主目录; |
cd ~ | 进入用户主目录 |
cd - | 返回进入此目录之前所在的目录; |
cd … | 返回上级目录(若当前目录为“/“,则执行完后还在“/";"…"为上级目录的意思) |
cd …/… | 返回上两级目录; |
cd !$ | 把上个命令的参数作为cd参数使用。 |
cd /etc/resolvconf/ | /开头表示绝对路径 |
cd update-libc.d/ | 不带/表示从当前路径往下跳 |
ls:显示文件夹下的所有文件
参数 | 含义 |
---|---|
-a | 显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出) |
-A | 显示除影藏文件“.”和“…”以外的所有文件列表; |
-C | 多列显示输出结果。这是默认选项; |
-l | 与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列; |
-F | 在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“ |
-k | 以KB(千字节)为单位显示文件大小; |
-l | 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等; |
-m | 用“,”号区隔每个文件和目录的名称; |
-n | 以用户识别码和群组识别码替代其名称; |
-r | 以文件名反序排列并输出目录内容列表 |
-s | 显示文件和目录的大小,以区块为单位; |
-t | 用文件和目录的更改时间排序 |
-L | 如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录 |
-R | 递归处理,将指定目录下的所有文件及子目录一并处理 |
–full-time | 列出完整的日期与时间 |
–color[=WHEN] | 使用不同的颜色高亮显示不同类型的 |
ll:命令 实际上是ls -l的一个别名
tree命令
以树形结构展示文件夹及文件,比较直观
安装
apt-get install tree
tree yum/
4.2文件夹命令
mkdir
创建文件夹
创建方式 | 含义 |
---|---|
相对路径创建 | mkdir test |
绝对路径窗口 | /home/cjw/test2 |
创建多级文件夹 | -p test3/test4 -p 如果父目录不存在也会一并的创建 |
rmdir
只能删除空目录
rm
删除文件/文件夹/子文件/子目录
参数 | 含义 |
---|---|
-d | 直接把欲删除的目录的硬连接数据删除成0,删除该目录; |
-f | 强制删除文件或目录; |
-i | 删除已有文件或目录之前先询问用户; |
-r或-R | 递归处理,将指定目录下的所有文件与子目录一并处理; |
–preserve-root | 不对根目录进行递归操作; |
-v | 显示指令的详细执行过程。 |
mv
用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖
操作 | 命令 |
---|---|
修改名称 | mv aaa bbb |
移动文件 | mv aaa/* bbb |
cp
复制命令
cp -r aaa bbb
-r 递归复制
4.3创建文件
touch命令
- 更新文件时间戳
- 创建空文件
重定向符
>
: 创建新的文件或者覆盖
>>
: 创建新的文件或者追加
echo
- 将消息输出到控制台
- 配合重定向符,将信息输出到文件
cat
- 读文件内容到控制台
- 配合重定向符,复制一个或多个文件内容到另一个文件中。
tac命令:和cat刚好相反 将内容倒序输出
more命令: 分页显示
tail: 显示底部的内容
head:显示头部的内容
4.4 vi命令
最基本的用法
步骤 | 说明 |
---|---|
1 | 首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容 |
2 | 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容 |
3 | 编辑完成之后,按Esc键退出编辑模式,回到一般模式 |
4 | 再按:,进入“底行命令模式”,输入wq命令,回车即可 |
退出命令
命令 | 含义 |
---|---|
:w | 保存文件但不退出vi |
:w file | 将修改另外保存到file中,不退出vi |
:w! | 强制保存,不退出vi |
:wq | 保存文件并退出vi |
:wq! | 强制保存文件,并退出vi |
:q | 不保存文件,退出vi |
:q! | 不保存文件,强制退出vi |
:e! | 放弃所有修改,从上次保存文件开始再编辑 |
常用快捷键
在一般模式下使用
快捷键 | 功能 |
---|---|
a | 在光标后一位开始插入 |
A | 在该行的最后插入 |
I | 在该行的最前面插入 |
gg | 直接跳到文件的首行 |
G | 直接跳到文件的末行 |
dd | 删除行,如果 5dd ,则一次性删除光标后的5行 |
yy | 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行 |
p | 粘贴 |
v | 进入字符选择模式,选择完成后,按y复制,按p粘贴 |
ctrl+v | 进入块选择模式,选择完成后,按y复制,按p粘贴 |
shif+v | 进入行选择模式,选择完成后,按y复制,按p粘贴 |
查找与替换
在底行命令模式中输入
命令 | 说明 |
---|---|
:%s/user/aaaaaaaa | 将所有的 user 替换为 aaaaaaaa |
/user | 查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个) |
4.5vim介绍
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
- 多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。 - 易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。 - 语法加亮
vim可以用不同的颜色来加亮你的代码。 - 可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。 - 对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。
5.文件权限命令
5.1格式解析
drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)
字符 | 说明 |
---|---|
d | 标识节点类型(d是文件夹, - 是文件, l 是链接 ) |
r | 可读 |
w | 可写 |
x | 可执行 |
组 | 说明 |
---|---|
第一组rwx | 表示这个文件的拥有者对它的权限:可读可写可执行 |
第二组r-x | 表示这个文件的所属组对它的权限:可读,不可写,可执行 |
第三组r-x | 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行 |
5.2修改文件权限
修改 | 说明 |
---|---|
chmod g-rw haha.dat | 表示将haha.dat对所属组的rw权限取消 |
chmod o-rw haha.dat | 表示将haha.dat对其他人的rw权限取消 |
chmod u+x haha.dat | 表示将haha.dat对所属用户的权限增加x |
chmod 664 haha.dat | 就会修改成rw-rw-r– |
将一个文件夹的所有内容权限统一修改,则可以-R参数 chmod -R 770 aaa/
6.用户管理
添加用户
useradd cjw2
设置密码
passwd cjw2
普通用户设置root权限
- 普通用户权限有限制,通过sudo暂时获取root权限.
vim /etc/sudoers
root ALL=(ALL:ALL) ALL
cjw ALL=(ALL:ALL) ALL
wq!
强制保存退出。
7.打包和压缩
7.1 grep命令
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是 Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户,grep是查找匹配条件的行
参考: http://man.linuxde.net/grep
7.2 find命令
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
功能:在目录结构中搜索文件,并执行指定的操作。
此命令提供了相当多的查找条件,功能很强大。
语法:find 起始目录 寻找条件 操作
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
find是搜索匹配条件的文件(http://man.linuxde.net/find)
查找当前目录下所有的gz结尾的文件
find / . -name "*gz"
8.文件传输
8.1压缩和解压缩 gzip
gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
8.2 tar打包解压
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
tar -cvf log.tar log2012.log 仅打包,不压缩!
tar -xvf myfirsttarball.tar 拆包
- 将多个文件/目录打包压缩,将
aaa
目录压缩为my2.tar.gz
文件
tar -zcf /home/cjw/bbb/my2.tar.gz aaa/
- 将打包压缩好的文件解压缩为多个文件/目录,将
my.tar.gz
解压缩 到当前目录中
tar -zxf my.tar.gz -C .
[外链图片转存失败(img-6MZtUHMK-1564830748593)(C:\Users\32996\AppData\Roaming\Typora\typora-user-images\1564747093959.png)]
9.1上传
安装 lrzsz
apt install lrzsz
通过 rz
命令实现文件的上传。 或者将文件拖拽进去。
9.2下载
sz命令 文件下载
9.进程命令
命令 | 说明 |
---|---|
last或 lastlog | 查看用户最近登录情况 |
df | 查看硬盘使用情况 |
du | 查看文件大小 |
free | 查看内存使用情况 |
/proc | 查看文件系统比如: ll /proc |
ls /var/log/ | 查看日志 |
tail /var/log/messages | 查看系统报错日志 |
top | 查看进程 |
kill 1234 kill -9 4333 | 结束进程 |
后台服务管理
服务操作
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务
service --status-all 查看系统中所有的后台服务
设置后台服务的自启配置
chkconfig 查看所有服务器自启配置
chkconfig iptables off 关掉指定服务的自动启动
chkconfig iptables on 开启指定服务的自动启动
最后
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的
目录 | 说明 |
---|---|
/usr | 系统级的目录,可以理解为C:/Windows/, |
/usr/lib | 理解为C:/Windows/System32。 |
/usr/local | 用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。 |
/opt | 用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。 |
源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。