1.软件安装命令
1.1软件包命名格式:
eg:
sl_3.03-17build2_amd64.bat
1.2dpkg
dpkg:离线安装,不需要连网,在安装这个软件的时候不会检查依赖。
1.2.1安装
sudo dpkg -i 安装包名
1.2.2运行
软件名
1.2.3卸载
sudo dpkg -r 软件名
1.2.4完全卸载
sudo dpkg -P 软件名
1.2.5查看安装版本号
sudo dpkg -l 软件名
1.2.6查看安装路径
sudo dpkg -L 软件名
1.2.7查看软件安装状态
sudo dpkg -s 软件名
1.3apt-get
apt-get在线安装,必须链接网络,会检查依赖,在安装这个软件的时候会一并将依赖的软件安装上。
1.3.1设置下载的源
先从各大服务器上获取服务的源。
如在百度搜索“Ubuntu 18.04 清华源”,如下图
将其拷贝到Ubuntu18.04的 /etc/apt/sources.list 文件中
sudo vim /etc/apt/sources.list
sudo gedit /etc/apt/sources.list
1.3.2更新源
sudo apt-get update//将服务器上的软件包以文件的形式保存在本次/var/lib/apt/lists目录
1.3.3下载并安装
sudo apt-get install 软件名
1.3.4卸载
sudo apt-get remove 软件名
1.3.5只下载不安装
sudo apt-get download 软件名
1.3.6下载源码
sudo apt-get source 软件名
1.3.7清除
sudo apt-get clear //清除/var/cache/apt/archives目录下的软件包
2.压缩和打包命令
2.1压缩相关命令
2.1.1xxx.gz
gzip test //gzip压缩的时候用时最短,压缩率最低
gunzip test.gz //解压缩
2.1.2xxx.bz2
bzip2 test //bzip2压缩的时候用时居中,压缩率居中
bunzip2 test.bz2 //解压缩
2.1.3xxx.xz
xz test //xz压缩用时最长,压缩率最高(适合用于文件存档)
unxz test.xz //解压缩
2.2打包相关命令
使用 tar 完成打包或者拆包动作.
tar 参数如下:
-c :打包
-x :拆包
-v :显示过程
-f :后跟文件名
-z :gzip压缩
-j :bzip2压缩
-J :xz压缩
2.2.1打包
tar -cvf test.tar test //将test的目录打包成test.tar的文件
2.2.2拆包
tar -xvf test.tar
2.2.3打包的同时进行压缩
tar -czvf test.tar.gz test //将test进行打包并压缩为gz格式
tar -cjvf test.tar.bz2 test //将test进行打包并压缩为bz2格式
tar -cJvf test.tar.xz test //将test进行打包并压缩为xz格式
2.2.3拆包并解压
tar -xzvf test.tar.gz //将test.tar.gz拆包并解压
tar -xjvf test.tar.bz2 //将test.tar.bz2拆包并解压
tar -xJvf test.tar.xz //将test.tar.xz拆包并解压
2.2.4万能拆包解压命令
tar -xvf test.tar.xx //xx三种压缩命令中的一种
3.文件操作相关命令
3.1ls命令
ls -l //查看文件的详细属性
ll //同ls -l
ls -a //显示目录下面所有文件,包括隐藏文件
ls -lh //将文件的大小,转换为相应的数量级进行显示
ls -R //递归显示出所有文件
ls -i //显示inode号
3.2cd命令
cd 相对路径/绝对路径
cd ~ //家目录
cd //家目录
cd . //当前目录下
cd .. //回到上一层目录
cd - //回到上一层操作的目录
3.3pwd
显示当前所在的绝对路径
3.4clear
清理当前屏幕
快捷键: ctrl + l
3.5touch
touch test //如果文件不存在,会创建一个文件
如果文件存在,则会更新时间戳.但是文件的内容不会发生任何变化
3.6mkdir
mkdir test //创建一个test的文件夹. 如果目录存在. 会报错
mkdir -m 664 test //创建一个具有指定权限的目录
mkdir -p 01day/test/demo //创建目录及其子目录
3.7rm
rm test //此时test必须为空目录
rm -rf * //-r:递归 -f:强制
快照: 虚拟机 —> 快照(记录当前状态,一遍以后恢复)
3.8chmod
用法1:
chmod 0664 test //修改文件权限
用法2:
u: 用户
g:组
o:其他
a:代表ugo
r: 可读 4
w:可写 2
x: 可执行 1
-:无权限 0
+:给权限
-:去除权限
chmod u+r 01point.c
chmod ug+w 01point.c
chmod a-x 01point.c
3.9cp
-a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;
-i:询问,如果目标文件已经存在,则会询问是否覆盖;
-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
-s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
-r:递归复制,用于复制目录;
-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。
cp 路径+源文件 目标目录
cp 路径+源文件 路径+新文件名称 //将源文件复制一份,并且起一个新的名字
3.10mv
mv 路径+源文件 目标目录
mv 文件名 新文件名 //重命名
3.11cat
cat -n test //显示终端,并显示行号
cat /etc/issue //查看Ubuntu的版本号
uname -r //查看内核版本号
---------------------------------------------------------------------------
>: 重定向
cat 1.c > 2.c //将1.c文件重定向到2.c中(如果2.c不存在会创建,如果2.c存在会清空)
cat 1.c 2.c > 3.c
>>:追加
cat 1.c >> 2.c //在2.c的尾部追加1.c文件的内容
---------------------------------------------------------------------------
eg:请将/etc/passwd文件的第41行显示出来
head -41 /etc/passwd > test.txt
tail -1 test.txt
或
head -41 /etc/passwd | tail -1 //|:将第一条命令的结果作为后一条命令的参数
3.12wc
wc test //将文件的行号,单词个数,字符个数显示到终端上
wc -l test //显示文件的行号
wc -c test //显示文件内字符的个数
wc -w test //显示文件内单词个数
3.13head
head test //默认显示文件开头10行
head -26 test //显示文件开头26行
3.14tail
tail test //默认显示文件结尾10行
tail -26 test //显示文件结尾26行
3.15grep
grep:功能:文件内字符串的搜索
-n :在搜索的时候显示搜索到的行号
-R:递归搜索(先在当前目录下搜索,然后再当前目录的子目录下搜索)
-i:忽略大小写
-w:按照单词精确搜索
grep "string" 参数 文件名
grep "^string$" 参数 文件名
-------------------------------------------------------------------
eg1:
grep "main" * -n //在当前目录下搜索所有文件中的main字符串
grep "main" * -nR //在当前目录下及子目录搜索所有文件中的main字符串
grep "main" * -niR //在当前目录下及子目录搜索所有文件中的main字符串,忽略大小写
grep "main" * -niRw //在当前目录下及子目录搜索所有文件中的main字符串,忽略大小写
eg2:
grep "^main" * -n //在当前目录下搜索所有文件中的以main(行)开头字符串
grep "main$" * -n //在当前目录下搜索所有文件中的以main(行)结尾字符串
grep "^main$" * -n //在当前目录下搜索所有文件中的只有main(一次)的行
3.16find
find:功能:搜索文件
find 路径 -name 文件名
------------------------------------------------------------
find ./ -name test.c //在当前目录及子目录搜索test1.c的文件
find -name test* //在当前目录及子目录搜索test1.c的文件
3.17cut
cut:功能:文件内字符串的裁剪提取
-f:提取的域
-d: 裁剪的分隔符号
cut -d "分隔符号" -f 域的序号 文件名
-------------------------------------------------------------------------
eg:
/*addr.txt文件内容如下
河北省:张家口市:桥西区:建材路:文化产业园*/
-------------------------------------------------------------------------
cut -d ":" -f 1 addr.txt //河北省
cur -d ":" -f 1,2,5 addr.txt //河北省:张家口市:文化产业园
cut -d ":" -f 1-3,5 addr.txt //河北省:张家口市:桥西区:文化产业园
3.18chown
修改文件的用户
chown 修改的用户 文件名
chown 用户:组 文件名
------------------------------------------------------------------
sudo chown root test.c //将test1.c文件用户修改为root
sudo chown root:root test1.c //将test1.c文件用户和组都修改为root
sudo chown :root test1.c //将test1.c文件组修改为root
3.19chgrp
修改文件所述的组
chgrp 组名 文件名
sudo chgrp linux test.c //修改test1.c的组名为linux
3.20ln
3.20.1软连接
软链接类似于windows上的快捷方式。
ln -s 被链接的文件 链接文件
特点:
1.软连接文件的类型是l
2.软连接可以链接目录,软连接能够链接文件,软连接又可以被软连接
3.如果删除被链接的文件,软连接就断开了,如果文件重新创建,软连接又可以使用了
4.软连接不会增加源文件的链接数
5.删除链接文件,被链接的文件不会有改动
3.20.2硬链接
硬链接相当于给文件起别名,文件所占的硬盘空间没有增加。
ln 被链接的文件 链接文件
特点:
1.硬件文件的类型是普通文件
2.硬链接只能链接文件,不能链接目录
3.当硬链接的文件删除后源文件依然可用,删除源文件后链接也可以使用
4.硬链接文件的链接数会随着链接次数增加,并且inode相同
4.用户管理相关命令
4.1 adduser
添加用户
-u 指定该账户的uid
-g 指定该账户的主群组,修改passwd文件
-G 指定该账户的次要群组,修改group文件
-M 强制不要创建用户家目录
-m 强制建立用户家目录
-d 指定用户家目录的位置,不使用默认的位置
-s 指定用户的shell,默认为/bin/bash
--------------------------------------------------------------------
sudo adduser 用户名
注:新添加的用默认没有sudo的权限,hello 不在 sudoers 文件中。此事将被报告。
su root //切换到root用户下
vim /etc/sudoers
添加:hello ALL=(ALL) ALL
4.2addgroup
添加组
sudo addgroup farsight
4.3su
切换用户
su 用户名
4.4usermod
用户信息修改命令
-u 变更用户UID
-c 填写用户账户备注信息
-g 变更用户所属组
-G 变更扩展用户组
-s 变更默认shell
-L 锁定用户禁止其登陆
-U 解锁用户允许登陆
-e 账户到期时间
-d -m -m与-d连用 可重新指定用户家目录并迁移旧数据
-a,–append将用户追加到-G选项提到的补充GROUPS上,而不将用户从其他组中删除
---------------------------------------------------------------------
sudo usermod -g farsight hello //将hello用户的组修改为farsight
sudo usermod -c farsight hello //修改hello用户在/etc/passwd文件的第5个域(它是用户的登录)
sudo usermod -m -d /home/farsight hello //将hello用的主目录移动并重名为/home/farsight
sudo usermod -l farsight hello //将hello的用户名修改为farsight
sudo passwd 用户名 //修改用户的密码
4.5 id
查看用户和组的命令
id 用户名
4.6 delgroup
删除组
sudo delgroup 组名
4.7 deluser
删除用户
sudo deluser 用户名
5.关机重启命令
(shutdown,reboot)
关机
sudo shutdown -h 12:10 //12:10关机
sudo shutdown -h +50 //50分钟后关机
sudo shutdown -h now //立即关机
重启(sudo reboot)
sudo shutdown -r 12:10 /12:10重启
sudo shutdown -r +50 //50分钟后重启
sudo shutdown -r now //立即重启
6.磁盘管理相关的命令
6.1向Ubuntu插入U盘
虚拟机—>可移动设置---->找到U盘—>连接
6.2查看设备是否存在
ls /dev/sd*
/dev/sda //Ubuntu系统的磁盘
/dev/sda1 //Ubuntu系统磁盘分区
/dev/sdb //U盘
/dev/sdb1 //U盘的第一个分区
/dev/sdb2 //U盘的第二个分区
6.3查看分区相关命令
sudo df -h //查看分区使用率
sudo fdisk -l //查看磁盘的详细信息
6.4给U盘分区
sudo fdisk /dev/sdb
d 删除分区
n 添加新分区
p 打印分区表
m 打印此菜单
w 将分区表写入磁盘并退出
q 退出而不保存更改
6.5给U盘分区格式化
sudo mkfs.ext4 /dev/sdb1 //如果使用的mydisk格式化为ext2的格式
sudo mkfs.ntfs /dev/sdb1
6.6将U盘的分区挂载到系统上
挂载后就可以向目录里拷贝文件,就相当于在对磁盘操作。
sudo mount /dev/sdb1 ~/udisk
6.7取消挂载
sudo umount ~/udisk
7.网络管理相关命令
7.1网络基础知识
(1)表示:点分十进制表示 192.168.50.82
(2)组成:网络号(192.168.50.0)+主机号(82)
(3)种类:ipv4(4字节 32bit) ipv6(16字节 128bit)
(4)网段的划分:A B C D E
种类 | 网络号 | 主机号 | 高位规定 |
---|---|---|---|
A | 1字节 | 3字节 | 0 [0-127] |
B | 2字节 | 2字节 | 10 [128-191] |
C | 3字节 | 1字节 | 110 [192-223] |
D | 组播 | 1110[224-239] | |
E | 未使用 | [240-255] |
(5)子网掩码:根据ip地址获取网络号 192.168.50.82 & 255.255.255.0 = 192.168.50.0
(6)网关 :一般认为路由器的ip地址就是网关 192.168.50.1
(7)DNS :域名解析器 www.baidu.com>DNS>39.156.66.14
114.114.114.114
8.8.8.8
7.2虚拟机联网的三种模式
桥接模式:window和Ubuntu共用一个网卡,但是给两个操作分别分配单独ip地址
windows 192.168.50.82 ubuntu 192.168.50.83
NAT模式 : Ubuntu使用windows的ip地址访问外网
windows 192.168.50.82 Ubuntu 172.169.15.16
仅主机模式:ubuntu只能和window通讯不能和外网通讯
7.3联网准备阶段
关机—>在vmware workstation—>编辑—>虚拟网络编辑器—>更改设置—>还原默认配置
在vmware workstation—>虚拟机—>设置—>硬件—>网络配置—>(桥接/NAT模式)
7.4联网
7.4.1查看ip地址的命令
ifconfig(ubuntu)
ipconfig(windows)
7.4.2查看网络是否连通
ping www.baidu.com
6.4.3静态ip和动态ip的设置
DHCP:让电脑自动获取ip地址
图形界面静态ip设置:(重启ubuntu)
通过内核配置文件静态设置ip:
sudo vim /etc/netplan/01-network-manager-all.yaml
sudo netplan apply #让网络生效
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: no
optional: no
addresses: [192.168.50.100/24]
gateway4: 192.168.50.1
nameservers:
addresses: [8.8.8.8]
7.通配符的使用
*7.1 通配符
#通配任意个字符的字符串
ls *.c
7.2 ?通配符
#通配任意一个字符
ls ?.c #1.c 2.c 3.c
7.3 []通配符
[字符1字符2字符3...]
通配[]内的任意的一个字符
ls [123].c
[字符1-字符n]
通配[]内区间中的的任意的一个字符
ls [1-3].c
[^单词列表]
通配除[]内部区间中的的任意的一个字符
ls [^1-3].c