linux学习笔记(一)一篇文章覆盖所有常用的Linux系统终端命令

一、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表示输出不换行

系统时间设置

在这里插入图片描述

查看磁盘使用情况

在这里插入图片描述
在这里插入图片描述

查看文件系统信息

image-20221024134725165

二、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文件系统的结构

image-20221024173747557

4、创建链接文件

linux中存在两种类型的链接:

  • 硬链接

image-20221024174748967

  • 软链接(window下的快捷方式)

image-20221024175020481

  • 注意
    • 修改硬链接的目标文件名,硬链接依旧有效,软连接断开
    • 对一个存在的链接执行移动或者删除操作,有可能链接断开,删除存在文件,新创同名新文件,软连接恢复,硬链接断开。

4、文件系统相关命令

文件链接
  • file命令,用来判断文件的类型
file 文件名
  • ln命令,用来对文件进行链接
ln 目标文件名 链接文件名#硬链接
ln -s 目标文件名 链接文件名#软链接
文件压缩与归档

在这里插入图片描述

gzip与gunzip命令

-f用于对同名文件不做提示。

tar命令

image-20221024184015446

  • 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

image-20221024190141577

里面为网络ip,掩码,根据ifconfig的信息进行设置

  • 第二步,配置DNS
sudo vim /etc/resolv.conf

image-20221024190956020

  • 第三步
sudo vim /etc/rc.local

image-20221024191116482

  • 第四步
sudo /etc/init.d/networking restart
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失了志的咸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值