对于linux,在实际工作中没有这样的项目,也不知道会有什么用,自从上个用安装了ubuntu才发现linux速度与激情共存的,也突然间明白了linux其实是用处很大,想想ubuntu能做什么,那么linux移植到ARM就能做什么,还可以控制一些外围的设备,是不是很高大上呢,重要的是即能体会面向对象的思想,又能兼容内存的操作逻辑,可以说,真能做这一步,又离真正的软件开发又进了一步。
linux组成:
kernel:内核包裹在硬件之外,控制系统程序与硬件之间打交道。
shell:包裹在内核之上的。提供人机交换的界面,用户与内核之间打交道。
文件系统:组织管理文件目录
linux特性:可以作为服务器的。
从图形转到命令的方式 ctl+alt+F4
切换回图形:ctl+alt+F2 测试环境为ubuntu18.04,不同电脑可能不一样
linux文件系统是以树型结构的方式来组织计算机文件和资料的方法。
EXT3:基于日志 方式的文件系统。文件都有索引,并且,用户对文件的操作都有日志。可以形成任务队列来排队来处理执行。性能是比较好的。
SWAP:是系统交换分区的文件 系统。类似于windows下的虚拟内存。安装linux时会要求设置大小,一般设置成物理内存的2倍。
linux操作系统一切皆文件,可以把设备(硬盘,光驱等)都看作是文件,文件夹也看作是文件。
文件是没有扩展名的,那如何来区分不同的文件呢?用的是标识符
普通文件用的是‘-’;目录文件用的是 d,链接文件用的是l,块文件用b,字符文件用c,socket用s,管道文件用p
linux的目录结构:
linux没有分区,磁盘的逻辑结构管理物理结构,格式化后将磁盘分为很多文件块区。用/:标识结构
window是物理结构管理逻辑结构,先分区再格式化,建立逻辑。用\ 来标识
linux是区分大小写的。大写LS无此命令,ls 才是列是目录下文件。
linux操作系统的基本命令使用:shell命令:参数,其实就传到main()函数的参数里面去。
pwd//打印当前的目录
ls//列出这个目录下的文件
la//-a表示显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)。
cd /://改变当前目录 为根目录
命令行的别名:对于命令特别长的命令,为方便使用可以使用别名
alias//列出当前设置的别名
alias alias-name =‘value’//建立别名value为某个命令
unalias+别名//取消别名
shell的特殊字符:
*//可通配0个或多个字符 ?//通配任意单个字符「」//通配某个范围内的特殊字符。
;//一行可以执行多条命令使用;作为分隔命令符
输入输出重定向:类似于串口重定向
输出重定向:>//将一个命令输出到文件而非屏幕
>>//会在原文件中追加在而不是覆盖。
输入重定向:<//并不是从标准的键盘输入,是从文件或其他设备输入。
cat//显示文件内容
|//管道符,是将一个进程的输出作为另一个进程的输入
%作业控制时提示符
$取一系列的值,取变量的值
~代表的主目录
echo +string//显示字符串string的输出
文件管理命令:
1、查看目录
pwd //显示当前工作目录
cd//改变当前工作目录
ls//列出当前目录和子目录
file +filename//相当于ls -F列出文件,目录名并显示文件类型
2、创建和删除文件目录:
touch+filename//创建文件
mkdir -p+diratray-name//创建文件目录 -P指若目录不存在可以建立目录。
rm+「-i/f」+filename//-i:删除前询问是否删除 -f强制删除
rmdir+「-i/-r]//-r删除非空目录
删除非空文件夹的命令要使用 rm,而不是rmdir。
使用方式:rm [-rf] dirName
参数:-r 将目录及以下之档案亦逐一删除,-f 强行删除,不需询问。
3、文件包含用户数据和元数据(其实就是文件的属性,包括inode号(指向源文件)创建日期,所有者等信息)
链接为了解决文件的共享使用。
in [-s/-p]sourfile targefile//-s软链接 -p硬链接
4、显示文件内容:
cat +文件名:不分屏的显示内容
more+filename:分屏显示内容
head+「-n」+filename//查找文件的前多少行
tail+「-n」+filename//查找文件的尾多少行
5、拷贝和移动文件
cp [-i]sourcefile destfile
cp [-i]sourcefile destination-directory//-i是询问是否覆盖,没有则直接覆盖
mv [-i]sourcefile targerfile
mv [-i]sourcefile targerfile-directory//移动到目标目录
6、修改目录权限
每个文件和目录都是有访问权限的
-r -w(写)-x(可执行权限)
所属对象表示:u拥有者,权限最高;g同组人;o其他人;a所有人
chmod:修改自己文件的目录的访问权限
chmod+mode(模式)+filename//mode包括:who(所有人),cp(=设置权限;+添加权限;-删除权限),premission(什么权限)
chown:更改属主用于授权
chown [option]+用户ID或组ID
chgrp[option]+组+filename//option 为-r时为递归的改动目录及下的文件属性 -v显示命令所做的工作。
7、如何进行文件目录的查找:
find +路径+关键字
locate 「-d+数据库」+关键字
8、过滤与统计
grep 「option」string+filename
-i:忽略大小写敏感
-v:查找不包含字符串的,又叫反向匹配。
wc「option」+filename
-l:统计多少行
-w:统计多少单词
-c:统计多少字符
系统管理命令:
1、日期和时间接查看:
date:显示当前日期
cal:显示日历
ps:列出当前系统中已在运行的进程。
ps[option]:列出与当前终端相关的进程
-e:列出正在运行的进程
-f:列出一个完整的进程列表
-u:查找出由某个用户的启动的进程。
关机重启,用户切换,设置普通用户的权限
su+用户名:切换用户
sudo+命令行:执行原本只能ROOT用户执行的命令
shutdown:安全地关闭或重启系统
shutdown「-参数」-t+秒数+「警告信息」
-f:重启但不执行SFC
-F:重启并执行SFC
-h:关机
-r:关机之后要重启系统
reboot:重启
跟haultu差不多,但不是关机,而是重启。
用户管理命令:
密码设置和修改:
passwd
查找用户命令:
id:查看用户的ID组编号及名字
users:查看登录到系统的用户,只显示用户名
who:查看用户的详细信息
whoami:查看当前用户自己的用户名。
磁盘管理命令:
du:显示磁盘使用的摘要信息
df:显示整个文件系统使用磁盘的情况
网络配置管理:
查看网络信息:
ping +主机IP或主机名//查看与另一台机器的联通情况。
ifconfig://查看和配置当前机器的网络参数信息。
ifconfig -a:显示当前机器的IP,netmask,gatway等网络信息。
ifconfig eth0 up(down):激活或关闭某个网络适配卡。
ifconfig eth0 [ipAdress]netmask [adress」:设置IP和掩码
rpm:是红帽子定义的安装包格式
deb:ubuntu定义的安装格式
离线包的安装与御载:
dpkg -i<package>:安装包
dpkg -p<package>:移除和配置文件
源文件编译和安装:常用
配置configure编译make安装makeinstall
在线安装与御载aptitude常用
apt-get install<package>安装
apt-get remove -purge<package>:完全御载