【从零开始的嵌入式生活】LinuxC语言——shell命令
前言今天是2021年的第三天,差点就断更了呀,我放弃了LOL陪大家一起学习0.0。三连即可提高学习效率0.0????????作者简介:一个学嵌入式的年轻人✨联系方式:2201891280(QQ)????源码地址:https://gitee.com/xingleigao/study_qianrushi⏳全文大约阅读时间: 60min文章目录前言1.shell基本系统维护命令man 联机帮助页,并提供
前言
今天是2021年的第三天,差点就断更了呀,我放弃了LOL陪大家一起学习0.0。
三连即可提高学习效率0.0
🧑🏻作者简介:一个学嵌入式的年轻人
✨联系方式:2201891280(QQ)
📔源码地址:https://gitee.com/xingleigao/study_qianrushi
⏳全文大约阅读时间: 60min
1.shell基本系统维护命令
man 联机帮助页,并提供简短的命令说明
man commandname
可以使用
PageUp
、PageDown
来翻页,:q
退出。
举个例子:
内容主要包含:
- NAME:命令的名称
- SYNOPSIS:命令的语法格式
- DESCRIPTION:命令的一般描述以及用途
- OPTIONS:描述命令所有的参数或选项
- SEE ALSO:列出联机帮助页中与该命令直接相关或功能相近的其他命令
- BUGS:解释命令或其输出中存在的任何已知的问题或缺陷
- EXAMPLES:普通的用法示例
- AUTHORS:联机帮助页以及命令的作者
平时一定要记得使用这本帮助手册,非常好用!!!
passwd 改密码
passwd username
username:改密码的用户名,默认当前用户。
如果不该当前用户的密码需要管理员权限,就是在最前面加sudo
su 临时改变用户身份
su [-c | -m - ] username
-c
:执行一个命令后会返回默认账户。-m
:仍保留环境变量不变。-
:转换身份时同时使用该用户的环境。exit
:退出账户。username
:默认为切换为root账户。
echo 在显示器上显示一段文字
echo [-n] information
-n
:可以输出命令不换行。- echo “hello word”:用于原样输出
- echo hello world:用于输出字符只用一个空格分隔
date 显示和设置系统日期和时间
date [-d | -s|-u ] datestr
-s
:设置日期,时间格式为hh:mm:ss,日期:mm/dd/yy
clear 清屏
clear
也可以使用ctrl + l
df 查看磁盘空间使用情况
df [-a | -T | -h | -k ] Filesystem
选项 含义 -a 显示所有物理文件系统的使用情况,包括虚拟文件系统,如/proc、/sys等 -T 显示文件系统的文件格式类型 -h 物理文件系统大小按兆字节为单位显示 -k 物理文件系统大小按千字节为单位显示
du 查看目录的使用情况
du -h /etc
-a
:仅列出空间的文件数-h
:列出磁盘的使用情况(KB)-s
:列出总的空闲空间(KB)这部分建议时常回来翻翻看看,我也记不住-。-用的多了就记住了。
2.用户管理
2.1相关文件
/etc/passwd文件是用户清单
- 登陆名
- 经过加密的口令
- UID
- 默认的GID(组号)
- 个人信息
- 主目录
- 登陆shell
/etc/group UNIX组的名称和每个组中成员列表
每一行代表一个组,包括4个字段:
- 组名
- 加密的口令
- GID号
- 成员列表,彼此用逗号隔开
2.2 添加用户 adduser
adduser <username>
/etc/adduser.conf 配置文件
- FIRST_UID=1000
- LAST_UID=29999
- USERS_GID=100
- DHOME=/home
- DSHELL=/bin/bash
- SKEL=/etc/skel
Everything is file.
linux下一切皆文件
/etc/adduser.conf 配置文件
2.3 更改用户的属性 usermod
usermod [-u uid [-o]] [-g group] [-G gropup,…]
[-d home [-m]] [-s shell] [-c comment]
[-l new_name] [-f inactive][-e expire]
[-p passwd] [-L|-U] name
举例:用户oldname改名为newname
注意要同时更改家目录:usermod –d /home/newname –m –l newname oldname
2.4 删除用户 deluser
deluser <usrnmae>
使用方法:
最好同时删除用户工作目录:deluser --remove-home user1
2.5 添加用户组 addgroup
addgroup groupname
2.6 删除用户组 delgroup
delgroup groupname
3.进程管理
3.1 进程的概念
程序的一次执行就是一个进程
3.2 ps 命令—— 显示进程 (process) 的动态
ps [options]
- -A 列出所有的行程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
进程的状态标志:
- D: 不可中断的静止
- R: 正在执行中
- S: 阻塞状态
- T: 暂停执行
- Z: 不存在但暂时无法消除 (僵尸态)
- <: 高优先级的进程
- N: 低优先级的进程
- L: 有内存分页分配并锁在内存中
日常使用:
ps aux | grep "name"
一般结合grep来使用。
3.3 top 命令—— 监视进程
3.4 pstree 命令—— 所有行程以树状图显示
3.5 kill 命令——给程序发命令
kill [-signal] PID
kill 命令向指定的进程发出一个信号signal,在默认的情况下,kill 命令向指定进程发出信号15,正常情况下,将杀死那些不捕捉或不忽略这个信号的进程
可以使用kill -l
查看所有支持的信号。
3.文件系统的类型和结构
文件系统用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。Linux同样具备完善的文件系统。
Linux文件系统的类型
- 磁盘文件系统: 指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext3、Ext4、VFAT、ISO9660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、FAT、FAT16、FAT32、NTFS等;
- 网络文件系统: 是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。常见文件系统格式有:NFS、Samba等;
- 专有/虚拟文件系统: 不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。
目前Ext4是Linux系统广泛使用的一种文件格式。在Ext3基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进。
最大特点是日志文件系统: 可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。。
交换分区(swapping)
将内存中的内容写入硬盘或从硬盘中读出,称为内存交换(swapping)
- 交换分区最小必须等于计算机的内存 (1.5~2倍 其实内存比较大的话不需要这个)
- 可以创建多于一个的交换分区
- 尽量把交换分区放在硬盘驱动器的起始位置
Linux文件系统的结构
文件系统逻辑结构
Linux的文件组织模式犹如一颗倒置的树,这与Windows文件系统有很大差别。
基本目录
绝对路径:/usr/games/gnect
相对目录:./games
默认的相对路径中.
代表当前目录..
代表上层目录。
4.文件系统相关命令
pwd ls cd touch cp mv rm cat head tail已经在C语言基础补习课程中讲过
【从零开始的嵌入式生活】必备基础知识,从环境安装开始
file——判定文件类型
file [ filename ]
mkdir——创建目录
mkdir [ -p ] directory_name
mkdir必须需要父目录存在,如果需要循环创建,需要加
-p
选项。
rmdir——删除目录
rmdir [ -p ] directory_name
经常使用效率更高的:
rm –r dir1
ln——建文件的链接文件
链接文件
- 硬链接是利用Linux中为每个文件分配的物理编号——inode建立链接。因此,硬链接不能跨越文件系统。
- 软链接(符号链接)是利用文件的路径名建立链接。通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。(类似于快捷方式)
ln [ -s ] target link_name
-s
:表示创建软链接这部分的内容可以参考【C语言有什么用?①】从零开始撸一个用户态模拟文件系统
文件压缩和归档
- 归档文件是将一组文件或目录保存在一个文件中。
- 压缩文件也是将一组文件或目录保存一个文件中,并按照某种存储格式保存在磁盘上,所占磁盘空间比其中所有文件总和要少。
常见的压缩文件:
与windows建议使用zip
压缩工具 解压工具 文件扩展名 gzip gunzip .gz bzip2 bunzip2 .bz2 zip unzip .zip
gzip与gunzip命令
gzip [ -l| -d | -num ] filename
-l
:查看压缩文件内的信息,包括文件数、大小、压缩比等参数,并不进行文件解压-d
:将文件解压,功能与gunzip相同-num
:指定压缩比率,num为1~9个等级(数字越大压缩率越大)gunzip [ -f ] file.gz
tar命令
主要用于将若干文件或目录合并为一个文件
tar [ -t | -x | -u | -c | -v | -f | -j | -z ] tarfile filelist
-t
:显示归档文件中的内容-x
:释放归档文件-u
:更新归档文件-c
:创建一个新的归档文件-v
:显示归档和释放的过程信息-f
:用户指定归档文件的文件名,否则使用默认名称-j
:由tar生成归档,然后由bzip2压缩-z
:由tar生成归档,然后由gzip压缩一般用
tar -cfz
压缩文件,使用tar -xfc
解压,生成的目录名为.tar.gz
5.Linux网络配置管理
网络配置基础
实现Linux网络配置的惟一目标就是修改系统中众多的网络配置文件,如
/etc/interfaces
、/etc/hosts
,/etc/resolv.conf
等等。通常,用户可能使用普通以太网卡、无线网卡、调制解调器等不同类型的设备接入网络。不同类型的网络设备在主机中被映射为相应的网络接口,比如以太网卡映射为eth,无线网卡映射为wlan。有时,用户还可能同时使用多个网络设备,就会出现eth0、eth1…,或wlan0、wlan1…的情况。
那么,如何标识每个连接到Internet的网络接口呢?
解决办法是:为每个网络接口分配一个全世界范围内惟一的32bit的标识符。这个标识符就是IP(Internet Protocol)地址。
IP地址
一般使用点分十进制表示,都是255.255.255.255
IP网络中通常用最小的IP地址标识网络本身,将最大的IP地址作为该网络的广播地址,其余所有IP地址都分配给网络中的主机。然而,局域网中的主机并不能直接访问Internet,需要通过一个作为代理的网关或网络地址转换服务(NAT)才能访问Internet。通常将IP地址的第一个或最后一个留给该网络的Internet网关。
配置IP地址
- 配置静态IP:在主机进入网络之前,事先为主机设置固定的IP地址;
- 配置动态IP:选择DHCP网络服务,在主机进入网络之后,动态随机获取IP地址。
Ifconfig命令
ifconfig [interface] ifconfig interface [aftype] option | address…
- [interface] 指定网卡
/etc/network/interfaces 配置文件是网卡服务器
/etc/resolv.conf DNS客户端配置文件
ping命令
ping [DomainName | IP-address]
可以ping
ip
或者域名
,作用就是给这个服务器打招呼,问它是否活着0.0
默认一直打招呼,可以使用-c表示次数 比如ping -c 3 baidu.com
就只ping三次。
写在最后
今天主要讲解了很多shell命令,这些东西不好记,需要时常回来翻一翻,接下来的几天都会围绕这一主题展开,有兴趣的童鞋可以跟我一起呀。三连即可提高学习效率!!!
另外我在更新的就是算法笔记的一些例题笔记,这个系列是用于提高我的算法能力,如果有兴趣对算法领域感兴趣找不到合适的入门文章也可以追更,如果我更新的太慢了请大家点赞收藏,一键三连才能更有更新的动力呀0.0
更多推荐
所有评论(0)