一、复习
命令行提示符
ubuntu@ubuntu:~$
第一个ubuntu:用户名
第二个ubuntu:主机名
@ : ---> 分割符
~ : 用户的家目录
$: 普通用户
#:管理员
切换用户
su 用户名---》切换至指定用户
su --》切换至超级用户
sudo 加在之前表示以超级用户权限执行
修改密码
passwd 用户名--》修改指定用户的密码
查看当前目录下的文件
ls ls -alh ls-a ls-h ls-l
ls-i显示文件的inode号
- rw- rw- r-- 1 ubuntu ubuntu 499 六月 28 17:01 1.c
| | | | | | | 大小 时间戳 文件名
| | | | | 用户名 用户所属组
| | | | 硬链接文件的个数
| | |其他用户o对改文件的操作权限
| | 文件所属组g的权限
| 文件所属用户u的权限
文件类型
文件类型又分为bcd-lsp 7种
b:块设备文件 -:普通文件
c:字符设备文件 l:软连接文件
d:目录文件 s:套接字文件
p:管道文件
修改文件权限--chmod
chmod 用户+/-/=权限的字母表示 文件名
八进制表示法:
chmod 0三位八进制数 文件名
chmod 4 1.c ------> 把1.c的其他用户权限改为4,所属组和所属用户没有权限
echo
回显字符串
mkdir
mkdir /dir1/dir2/dir3 -p 实现多级目录的创建
二、下载上传的指令
下载软件
sudo apt-get install 软件名 ---->下载软件
sudo apt-get install oneko --->追鼠标的猫
sudo apt-get install bastet --->俄罗斯方块
下载软件后,如何执行:
直接在终端输入软件名
以oneko为例,直接输入软件名,会在前台执行,没有办法去写其他的指令
oneko& ---->让onkeo后台运行,会回显一个进程号
可以直接使用kill -9 进程号,杀死进程
sudo apt-get install gnome-mines ---->下载扫雷
sudo apt-get remove 软件名 --->卸载软件,不完全卸载
sudo apt-get remove 软件名 --purge --->卸载软件,完全卸载
sudo apt-get download 软件名 --->下载软件的安装包
download指令会把安装包下载在执行指令的路径下
sudo apt-get clean ---->清空默认下载位置的安装包
/var/cache/apt/archives/ ---->软件包的默认下载位置sudo apt-get install make
离线安装软件指令
下载:sudo dpkg -i 软件包名 (重点掌握)
注意事项:如果执行指令的路径和安装包不在同一路径下,要给安装包加上路径
卸载:sudo dpkg -r 软件名 ---->不完全卸载软件sudo dpkg -P 软件名 ---->完全卸载软件
三、文件相关指令
head tail
显示文件中前十 后十行代码
head和tail,默认显示前10行和尾10行,如果不足就全部显示,
如果超过10行,只显示10行
管道符
| 将前一条消息输出当做后一条指令的输入
find
通过find查找文件,结果为绝对路径
格式:
find 要查找的路径 -name 要查找的文件名
也可使用模糊搜索
find 目标路径 -name 1\*.c
搜索目标路径下,以“1”开头,以“.c”结尾的文件
通配符
file查看文件
ELF:是一个ELF类型的文件
64-bit:支持64位操作系统
LSB shared object:小端存储
x86-64 ----->架构
version 1 (SYSV) ---->版本
dynamically linked, interpreter /lib64/l, --->链接的库
for GNU/Linux 3.2.0 ---->gcc编译器的版本
BuildID[sha1]=60b94b36154878cc979cc2aae1af6e92a45f044f, ---->动态ID
not stripped ---->文件没有被压缩过,arm的时候会讲
wc--》word count
回显行号, 单词个数, 字符个数, 文件名
grep查找字符串
grep "要查找的字符串" 要查找的路径 (参数)
参数可以为
-n:查找的同时显示字符串所在行
-i:不区分大小写
-R:递归查找(用于目标路径是目录不是文件)
-w:按单词查找
grep "ubuntu$" 文件名 ---->查找以ubuntu作为结尾的所在行
grep "^ubuntu" 文件名 ---->查找以ubuntu作为开头的所在行
grep "^ubuntu$" 文件名 ---->要求开头和结尾是同一个ubuntu
cut字符串裁剪
cut -d "分隔" -f "要截取的域" 文件名
域一般为数字,分隔前为域1
压缩与解压缩(只能对文件使用)
压缩和解压缩后源文件都会消失,而压缩和解压缩都分为3种,且必须一一对应
压缩
gzip 要压缩的文件 --》生成.gz后缀文件
bzip2 要压缩的文件 --》生成.bz后缀文件
xz 要压缩的文件 --》生成.xz后缀文件解压缩
unxz 要解压缩的文件 ---->把压缩文件解压出来,压缩文件.xz会消失
gunzip 要解压缩的文件
bunzip2 要解压缩的文件
三种压缩工具的压缩效率:xz > bz2 > gz
三种压缩工具的压缩时长:xz > bz2 > gz
xz需要时间更长,适用于对文件归档
gz需要时间更短,适用于临时文件传输
tar文件归档 解压缩
归档
归档是带-c参数
tar -cvf 要生成的文件名.tar 要打包的文件
-j:使用baz2工具压缩 -J:使用xz工具压缩 -z:使用gz工具压缩
注意:归档压缩和解压缩必须一一对应,除非是使用万能方式解压缩
tar -czf 生成的文件名.tar.gz 要打包并压缩的文件
tar -cjf 生成的文件名.tar.bz2 要打包并压缩的文件
tar -cJf 生成的文件名.tar.xz 要打包并压缩的文件
拆包并解压缩
tar -xvf 要拆包(解压缩)的文件 ---->既可以完成拆包也可以完成解压缩
万能拆包解压缩指令,什么压缩方式的包都能拆
当然也使用对应的压缩参数进行解压缩,-j、-J、-z
四、文件权限相关操作
chgrp--》修改文件所属组用户
由于现在都是在ubuntu用户和root用户之间转换,所以需要加sudo,如果是两个普通用户之间的转换不需要加sudo
例:有文件2.c
sudo chgrp root 2.c --->把2.c文件的所属组用户改为root
chown--》修改文件的所属用户
由于现在都是在ubuntu用户和root用户之间转换,所以需要加sudo,如果是两个普通用户之间的转换不需要加sudo
sudo chown root: 1.c 修改1.c的所属用户和所属组用户为root
sudo chown :root 1.c 修改1.c的文件所属组用户为root
sudo chown root 1.c 修改1.c的所属用户为root
sudo chown ubuntu:root 1.c 修改1.c的文件所属用户为ubuntu,所属组用户为root
作业
grep "^ubuntu" /etc/passwd | cut -d "/" -f "3"| tr ':' ' '