一、shell命令
1、Sheel常用命令
Sheel命令的基本格式如下:
其中经常用到的操作命令如下:
#基础操作
shutdown -r now#立即关机
shutdown -r +45#45分钟后关机
reboot now#立即重启
reboot +45#45分钟后 重启
contral l#清屏
clear#清屏
#路径操作
cd+路径#移动到指定路径
cd /#返回根目录
cd ..#返回上一层目录
pwd#显示当前环境路径
ls#列出当前环境的所有目录
ls-l#查看文件的权限
man+操作命令#查看操作命令的帮助文档描述,如满man ls
#文件创建与删除操作
touch 文件名#不存在时建立新文件,存在时更新文件时间戳
mkdir 文件夹名#创建该文件夹
mkdir -p 文件夹命#级联创建文件夹。如f1/f2
rmdir 文件夹名#删除目录
rm 文件名#删除该文件
#文件显示操作
cat 文件#文件内容在屏幕显示
cat-s 文件#文件内容中多行空行合并为一个空行
cat-b=ni 文件名#加行号显示
head -n 文件名#文件内容显示前n行,默认前十行
tail -n 文件名#文件内容显示倒数n行,默认倒数十行
#文件复制粘贴操作
cp 文件名 目标#复制文件到目标
cp -r 文件夹 目标#对文件夹复制
cp -i#覆盖时交互提示
mv 文件名 目标#移动文件到目标
history#列出历史输入的命令,默认保留500条
$HISTSIZE=1000#修改历史命令容量
2、shell中的通配符
shell的通配符可以实现命令操作一组文件,常用的通配符如下:
3、shell中的管道
shell中的管道意味着把一个命令和另一个命令连接起来,前一个命令的输出为后一个命令的输入,其使用方法如下:
ls /usr/bin | wc -w
上面的命令通过管道连接符号“|”,实现ls的输出,直接作为wc命令的输入,得到/usr/bin下的文件数量。
4、shell的输入输出重定向
shell的默认输入设备为键盘,输出为终端窗口。输入输出重定向可以改变shell命令的默认输入/输出目标。迫使某个特定命令的输入或者输出为外部文件。
5、shell的命令置换
命令置换就是把某个指令的输出当做另一个命令的输入,如下:
ls “pwd”
可以通过“ ”实现命令置换。
6、shell基本系统维护命令
获取某个指令的用法帮助
man 指令
修改系统用户的密码
passwd 用户名
在标准输出——终端窗口显示信息
echo [-n] 提示信息 #-n表示输出不换行
系统时间设置
查看磁盘使用情况
查看文件系统信息
二、gcc编译器使用
gcc是将c、c++源程序连接成可执行文件的多平台编辑器,支持如下后缀:
- .c c语言源代码
- .h 程序包含的头文件
- .i 已经预处理的c源代码文件
- .s 汇编语言源代码文件
- .o 编译后的目标文件
1、如何生成执行文件
gcc - o hello hello.c -Wall
上述hello.c为要执行编译的源代码,-Wall为可选的,用于输出编译过程中语法不规范的警告、hello为编译后要生成的文件类型的名称,不同的文件类型的命令如下:
- -o 输出可执行文件.exe
- -c 只要求输出目标代码.o文件,不输出可执行文件。
- -g 用于调试
生成执行文件.exe后,下面命令用于执行.exe:
./hello
2、如何调试
利用–FILE–,–LINE–,–FUNCTION,实现代码的跟踪;
#include <stdio.h>
int main(int argc,char **argv)
{
printf("%s,%s,%d",__FILE__,__FUNCTION__,__LINE__);
return 0;
}
通过上面的代码在需要跟踪的代码区域,使用上面的方法,用于输出Debug的输出信息。__FILE__代表文件名,__FUNCTION__代表函数名,__LINE__代表代码行号。
三、Linux软件包管理工具
Linux最常用的软件包管理机制有Deb软件包管理机制与Rpm软件包管理机制,这里要与软件包管理工具区分开来,一个是机制,工具是基于某个机制实现的工具,由于基于Deb软件包管理机制的ATP软件管理工具的出现,最常见的软件包都是以.deb结尾的,Ubuntu操作系统有两种软件包:
当我们不确定软件包的类型时可以用下面的命令查看文件类型。
file g++ 软件包名
软件包的命名遵循下面的命名规范:
常用到的软件包管理工具有两个,一个是dpkg软件包管理工具、与apt软件包管理工具
dpkg软件包管理工具
安装dpkg软件包管理工具后,可以通过下面的命令管理系统中的软件包
dpkg -i 软件包名#安装一个在本地文件系统上的Debian的软件包
dpkg -r 软件包名#移除一个已经安装的软件包
dpkg -P 软件包名#移除一个已安装软件包以及配置文件
dpkg -L 软件包名#列出已经安装的软件包清单
dpkg -s 软件包名#显示软件包的安装状态
ATP软件包管理工具
ATP采用了远程仓库的软件源系统,所有安装软件时需要连接网络,更换软件源的方法可以参考我的博客
https://blog.csdn.net/qq_40959462/article/details/126771112
安装ATP软件包管理工具后,可以通过下面的命令管理系统中的软件包:
apt-get (子命令) [可选命令] 软件包
常用的子命令如下表所示:
子命令 | 作用 |
---|---|
update | 下载更新软件包列表信息 |
upgrade | 将系统中所有的软件包升级到最新版本 |
install | 下载所需软件包并进行安装配置 |
remove | 卸载软件包 |
autoremove | 将不满足依赖关系的软件包自动卸载 |
source | 下载源码包 |
build-dep | 为源码包构建所需的编译环境 |
dist-uograde | 发布版升级 |
dselect-upgrade | 根据dselect的选择来对软件包进行升级 |
clean | 删除缓存区中所有已下载的包文件 |
autoclean | 删除缓存区中老版本已下载的包文件 |
check | 检查系统中依赖关系的完整性 |
常用的可选命令如下表所示:
可选命令 | |
---|---|
-d | 仅仅下载软件包,不安装或者解压 |
-f | 修复系统中存在的软件包依赖问题 |
-m | 当发现缺少关联软件包时,人试图继续执行 |
-q | 将输出作为日志保留,不获取命令执行进度 |
–purge | 与remove子命令一起使用,完全卸载软件包 |
–reinstall | 与install子命令一起使用,重新安装软件包 |
-b | 在下载完源码包后,编译生成相应的软件包 |
-s | 不做实际操作,模拟命令结果 |
-y | 对所有询问都做肯定回答 |
-u | 获取已升级的软件包列表 |
-h | 获取帮助信息 |
-v | 获取apt-get版本号 |
除了上面的命令,下面是一些不常用的关于apt软件管理的命令:
四、linux的用户管理
-
/etc/passwd文件是系统能够识别的用户清单,用户登陆时,系统查询这个文件,确定用户的UID并验证用户密码。
-
/etc/group文件包含了UNIX组的名称和每个组中成员列表,每一行代表一个组。
-
添加用户命令
adduser 新用户名
-
adduser配置文件
更改用户的属性
删除用户
添加用户组
五、linux的进程管理相关命令
ps命令,显示进程的动态
ps -elf#普通标准查看
ps -aux#BSD标准查看
top命令,用来实时检测进程信息 ,q键退出
top
pstree命令,用树形展示进程信息,查看进程之间的关系,再通过cd进入/proc进行查看
pstree
kill命令,用来终止进程
kill [-signal] PID
可以通过下面命令查看信号都有哪些
kill -l
六、linux文件系统的类型与结构
1、linux文件系统的类型
2、linux文件系统的结构
4、创建链接文件
linux中存在两种类型的链接:
- 硬链接
- 软链接(window下的快捷方式)
- 注意
- 修改硬链接的目标文件名,硬链接依旧有效,软连接断开
- 对一个存在的链接执行移动或者删除操作,有可能链接断开,删除存在文件,新创同名新文件,软连接恢复,硬链接断开。
4、文件系统相关命令
文件链接
- file命令,用来判断文件的类型
file 文件名
- ln命令,用来对文件进行链接
ln 目标文件名 链接文件名#硬链接
ln -s 目标文件名 链接文件名#软链接
文件压缩与归档
gzip与gunzip命令
-f用于对同名文件不做提示。
tar命令
- tar压缩命令
tar -cf 自定义归档文件名.tar 目标文件名#将目标文件名中的所有文档全部归档,打包到自定义归档文件名.tar中
tar -cjf 自定义归档文件名.tar.bz 目标文件名#将目标文件名中的所有文档全部归档,并用bzip2压缩到自定义归档文件名.tar.bz
tar -czf 自定义归档文件名.tar.gz 目标文件名#将目标文件名中的所有文档全部归档,并用bzip2压缩到自定义归档文件名.tar.gz
- tar解压命令
tar -tvf 压缩文件名#查看压缩文件的详细内容
tar -xvf 归档文件名.tar#是否tar归档文件
tar -xvjf 压缩文件名.bz#解压bzip2压缩文件
tar -xvzf 压缩文件名.gz#解压gzip压缩文件
七、linux下的网络配置管理
1、命令行配置网络
ifconfig命令,查看网络信息
ifconfig
配置步骤
- 第一步,设置ipv4网络ip
sudo vim /etc/network/interfaces
里面为网络ip,掩码,根据ifconfig的信息进行设置
- 第二步,配置DNS
sudo vim /etc/resolv.conf
- 第三步
sudo vim /etc/rc.local
- 第四步
sudo /etc/init.d/networking restart