1、APT
apt是Ubuntu中强大的命令行软件包管理工具,用于下载、安装、卸载、搜索软件包。
apt工具工作时需要一个配置文件:etc/apt/sources.list
该配置文件用来指定Ubuntu软件的服务器地址,默认是Ubuntu的官方服务器
apt常用命令:
sudo apt uptate 更新软件源
sudo apt install 要安装的软件包名字
sudo apt remove 要卸载的软件包名字
sudo apt search 搜索关键字
更新或下载软件时,可能出现如下错误:
无法获得锁 /var/lib/apt/lists/lock。锁正由进程 1374(packagekitd)持有
解决方法:
把造成问题的文件删除掉,如:
sudo rm /var/lib/apt/lists/lock -f
2、查看文件
分页显示内容:
more
less
例:
cat 1.txt | more
cat 1.txt | less
查看文件头尾:
head 文件名 10行
tail 文件名 10行
例:
head 1.txt
3、文件相关的指令:
创建
touch 文件名
例:
touch 1.c 2.c 3.c
复制
cp 源文件名 目标文件名
注:目标文件名 可能不存在,则自动创建,如果创建,则覆盖原有内容
例:
cp bj.txt bj2.txt
cp 源文件名 目录名
把源文件拷贝到指定目录中去
例:
cp bj.txt /home/china/
删除
rm 文件名
例:
rm 1.c
移动
mv 源文件名 目录名
例:
mv bj.txt /home/china/
改名
mv 源文件名 新的文件名
例:
mv bj.txt bj2.txt
4、指令别名
alias 用于给指令起别名
例:
alias rm ='rm -i'
alias mnt='cd /mnt/hgfd/share'
如果要使指令别名永久生效,需要把以上指令添加到配置文件中去
/home/china/.bashrc
5、vi/vim
vi是linux中最基本、最常用、功能最强大的命令行编辑器
vim 是 vi的增强版本
安装:
sudo apt install vim
vim的工作模式:
命令模式
键盘所有的输入字符都当作是一个命令
插入(输入)模式
键盘所有的输入字符都当作是文本内容
打开一个文件后,默认进入命令模式
命令模式->插入模式
i/I:
i:进入插入模式后,光标保持不动
I:进入插入模式后,光标移动到行首
a/A:
a:进入插入模式后,光标后移动一个位置
A:进入插入模式后光标移动到行尾
o/O:
o:进入插入模式后,在光标的下一行新增一行,同时光标移动到新增的行首
O:进入插入模式后,在光标的上一行新增一行,同时光标移动的新增的行首
插入模式->命令模式
esc
vi的退出相关指令:
:wq
保存退出
:x
保存退出
:w
保存
:w 文件名
保存数据到指定的文件名
:q
退出
:q!
强制退出,即不保存数据
复制与粘贴:
yy 复制当前所在行
nyy
n 表示要复制多少行
例:shift+v选择复制多少行,再按y复制
5 yy
剪贴与删除
dd 剪贴光标所在的行
n dd
n 表示要剪贴多少行
剪贴之后,可以用p粘贴,也可以选择不粘贴,就相当于删除
替换
r 替换光标所在的字符
:%s/要替换的字符串/新的字符串/g
例:
%s/include/111/g
把文件中所有的“include”换成了"111"
查找
/要搜索的内容
n
查看找到的下一个内容
N
查看找到的上一个内容
撤销
u
撤销上一条指令的效果
配置文件
vim可以自由的进行配置,它的配置文件为:
/home/china/.vimrc
目录相关指令
创建
mkdir [-p] 路径
路径:
绝对路径 以/开头的路径
相对路径 不是以/开头的路径,一般以.开头
-p
该选项可选,表示parent,用于说明要创建目标目录的父目录
例:
mkdir dir1
mkdir /home/china/dir2
mkdir -p /home/china/dir3/dir4
删除
rmdir 用于删除空的目录
例:
rmdir dir1
rm 既可以删除文件,也可以删除目录
rm 目录名 -rf
例:
rm dir3 -rf
说明:
-r 表示递归删除,即如果目录下还有子目录,一起删除
-f 表示强制删除,不再询问是否要删除
复制
cp -r 源目录名 目标目录名
重命名
mv 源目录名 新目录名
文件属性
文件
文件属性(i节/结点)
inode 用于唯一标识一个文件
文件名称、类型、权限、大小、时间等
文件内容
真正存储的数据
在Linux中可以使用ls -l来查看文件的属性
例:
ls -l 02-bj.txt
-rwxrwxr-x 1 china china 3158 2月 10 11:36 02-bj.txt
文件类型:
- 表示普通文件,如.txt .c .h .bmp .jpg a.out
d 表示目录文件
l 表示链接文件,类似于windows中的快捷方式
p 表示管道文件
s 表示套接字文件
b 表示块设备文件,如磁盘
c 表示字符设备文件,如键盘、鼠标等0
文件权限:
在Linux中每个文件有三种权限:
r 读
w 写
x 执行
如果文件有某种权限,就用上述字母来表示,如果没有某种权限,用-表示
每个文件都会针对三种不同的用户:
user: 文件的所有者
group: 组用户
other: 其他用户
在描述一个文件的权限时:
rwx rwx r-x
user group other
以上示例中,文件的所有者和他的同组用户对该文件有全部的权限,但是其它用户只有读和执行的权限,没有写权限
rwx可以看作一组八进制:
rwx -> 111 -> 7
r-x -> 101 -> 5
所以,上述示例中的文件权限用8进制表示为 775
如果需要对文件的权限进行修改,可以使用指令 chmod
chomd基本格式:
chmod 用户+/-rwx 文件名
例:
移除02-bj.txt的所有者的执行权限
chmod u-x 02-bj.txt
给a.out的组用户添加可执行权限
chmod g+x a.out
文件的链接数
Linux中的文件链接分两种:
硬链接:为文件创建一个硬链接,实际上同一个文件的不同副本,以不同的文件名形式存在
创建方式:
ln 文件名 链接名
例:
ln a.out b.out
软链接:类似于快捷方式
软链接没有为目标文件创建新的inode, 它指向目标文件,其中保存的是目标文件的路径名
创建方式:
ln -s 文件名 链接名
例:
ln -s a.out c.out
注:
windows不支持链接文件
目录不能创建硬链接,但可以创建软链接,目录的链接数,指的是该目录下子目录的数量。
硬链接不允许跨文件系统。
软链接允许跨文件系统。
用户与组
Linux中用专门的配置文件来存储用户和组的信息
/etc/passwd
用来保存用户的信息
/etc/group
用来保存组的信息
Linux中的用户分两种:
超级用户 root
普通用户
某些时候,普通用户需要提升权限或切换到root以获取更多的权限
切换用户:
su 用户名
例:
su gec
临时获取root用户的权限:
sudo
例:
sudo apt install gcc
用户与组相关指令:
adduser
添加用户,需要超级用户的权限
例:
sudo adduser gec
passwd
用于修改密码
例:
passwd // 修改当前用户的密码
passwd 用户名 // 修改指定用户的密码
deluser
删除用户,需要超级用户的权限
例:
sudo deluser gec
addgroup
添加组
例:
addgroup abc
delgroup
删除组
例:
delgroup abc
压缩与解压 tar
压缩:
tar [选项] 压缩包的名字 带压缩的文件列表
选项:
-c 表示创建一个压缩文件
-x 表示解压一个压缩文件
-v 显示压缩或解压的过程信息
-f 指定压缩包的名字
-z 表示一种压缩方式,gzip压缩
-j 表示一种压缩方式,bzip2压缩
-J 表示一种压缩方式,xz压缩
例: 有三个文件 1.c 2.c 3.c , 需要打包
tar -zcvf test.tar.gz 1.c 2.c 3.c
如果这三个文件在一个目录test下,还可以直接压缩该目录
tar -jcvf test2.tar.bz2 ./test
解压:
tar [选项] 待解压的压缩包名称
tar [选项] 待解压的压缩包名称 -C 解压目录
例:
tar -xvf test.tar.gz
tar -xvf test2.tar.bz2 -C /home/china/