Unix的学习(一)
Unix发展史
内核
一个Linux操作系统,由三个重要的部分组成。内核、Shell、文件系统
- Kernel
内核,管理硬件设备、内存、进程、交互空间、文件系统、系统程序等。 - Shell
Shell是用户和kernel之间的接口,它也是一个命令解释器,当用户在linux界面发出一个指令时,命令先传到shell,然后在将这个指令翻译成计算机可以识别的二进制语言,然后传给计算机内核,告诉他要做什么事情。计算机内核将结果返还给shell,shell翻译成人所熟悉的语言,将结果展示出来
常见的几种Shell:
- Bourne shell (sh)
是一个快捷方式,已经被/bin/bash所取代 - Korn shell (ksh)
语法与Bourne shell相同,同时具备了C shell的易用特点 - C shell (csh)
使用的是“类C”语法,csh是具有C语言风格的一种shell - Bourne-again shell (bash)
大多数Linux系统默认使用的Shell,是Bourne shell 的一个免费版本,它是最早的Unix Shell
文件系统
文件系统将硬件和软件都映射为文件,统一进行管理
目录 | 作用 |
---|---|
/ | 根目录,所有目录的父目录 |
/bin | 包含普通用户和系统管理员可以共享的各种通用程序 |
/boot | 包含系统引导程序GRUB及其配置文件、linux内核文件vmlinuz和磁盘内存映像文件initrd.img等重要引导文件 |
/dev | 包含系统支持的所有设备文件 |
/etc | 包含系统管理和维护方面的所有配置文件 |
/home | 包含所有普通用户的家目录 |
/lost+found | 用于存储fsck命令在检测与修复文件系统时删除的文件和目录 |
/media | 包含移动存储介质的挂载点 |
/mnt | 包含所有自定义的文件系统的挂载点,可以挂载任何文件系统 |
/opt | 应用程序等附加软件的安装目录 |
/proc | 虚拟文件目录,系统关闭时为空目录,系统运行时进程文件系统根目录,其中的部分文件系统分别对应当前正在运行的进程,可用于访问当前进程的地址空间 |
/root | 超级用户root的家目录 |
/sbin | 超级用户管理员的常用工具、如管理和维护、系统引导和恢复命令集合 |
/srv | 分担了var目录的一些功能,保存了一些网络服务所需的数据文件 |
/sys | 和proc一样是虚拟目录,系统各种设备配置信息的根目录 |
/tmp | 临时文件目录,用于存储系统运行过程生成的临时文件 |
/usr | 既可以作为根目录下的一个子目录,其中保存系统提供的各种共享数据(用户命令、库函数、头文件、文档等),又可以作为一个单独的文件系统,可以认为是对根目录的一个递归目录,使得文件系统具有更大的灵活性 |
/var | 该目录和usr 类似,首先是根目录下的子目录,也可以作为单独的文件系统 |
常用命令
- 查看当前用户下的隐藏文件,并显示详细信息。
ls -al
- 创建一个新用户,并设置密码。
sudo useradd -mk /home/sun -s /bin/bash sun
sudo passwd sun
su -sun
- 创建a.txt文件,属主有读写执行权限,属组,有读写,其他账户无权限
要求:使用两种方式。
touch b.txt
ls -l
chmod u+x,o-r b.txt
ls -l
chmod a-rwx b.txt
ls -l
chmod 760 b.txt
ls-l
- 创建a.txt,b.txt,c.txt,ab.txt,abc.txt
touch a.txt b.txt c.txt ab.txt abc.txt
- 创建目录 game1,game2,game3,gbme1
mkdir game1 game2 game3 gbme1
- 查找a结尾的文件或文件夹
ls *a/echo *a
- 查找第2字符是b,以.txt结尾的文件
ls ?b*.txt
- 将a.txt 复制到game1文件夹中
cp a.txt game1
- 将b.txt移动到gbme1文件夹中
mv b.txt gbme1
- 查找以1结尾,倒数第4个字符是a的文件夹
echo *a??1
- ls ab.txt ls [ab] ls [ab].txt分别代表什么
答:显示名字中有ab的.txt文件,显示名字中有a或b的文件夹或文件,显示名字是a或b的txt文件 - 将/etc/passwd中的内容重定向到abc.txt中
cat /etc/passwd > abc.txt
- 清空abc.txt的内容
cat /dev/null > abc.txt
- 删除刚刚创建的文件和文件夹
rm -r a.txt b.txt c.txt ab.txt abc.txt game1 game2 game3 gbme1
- 在Unix中?的作用
答:表示任意的一个字符 - ;和|的异同
答: ;表示在一行语句中连续执行多个命令,命令之间使用分号进行分割,|管道符,可以把第一个命令的结果,交给第二个命令作为参数进行操作 - 输入重定向:
i)在home目录下创建一个文件,用姓名命名,内容随意输入
touch Sunzehong
echo 123456 > Sunzehong
ls
ii)使用输入重定向将上述文件作为源输出到屏幕
cat Sunzehong
- 输出重定向:
i)查看目录mnt下所有文件的详细信息,并将这些输出信息发送到上面名字命名的文件中
ls -l /mntls -l /mnt > Sunzehongcat Sunzehong
ii)查看文件/etc/passwd的内容,并将这些内容累加到上述文件的末尾
ls -l /ect.passwd >> Sunzehong
cat Sunzehong
- 在home目录下创建dhA,ehasD,fhhBC,BhB,ChasD,DhhB等文件查询当前目录下一小写d-j开头并且以大写A-D结尾的文件
touch dhA ehasD fhhDC BhB ChasD DhhbB
ls
ls [d-j]*[ABCD
- cat和more的异同
cat显示文件中的所有内容,more和cat一样,也是查看内容的命令,但是more命令可以一点点的显示内容,而不是一次全显示出来
Unix的学习(一)相关推荐
- UNIX再学习 -- 进程间通信之管道
一.进程间通信概念 首先,需要了解一下什么是进程间通信. 进程之间的相互通信的技术,称为进程间通信(InterProcess Communication,IPC). 下图列出 4 种实现所支持的不同形 ...
- UNIX再学习 -- 记录锁
APUE第 3 章,参看:UNIX再学习 -- 文件I/O fcntl 函数它的记录锁功能我们当时没讲.接下来就详细说明下. 一.读写冲突 1.如果两个或两个以上的进程同时向一个文件的某个特定的区域 ...
- UNIX再学习 -- 守护进程(转)
参看:守护进程 一.什么是守护进程 守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程.它是一个生存期较长的进程,通常独立于控制 ...
- UNIX再学习 -- 线程
终于要讲到线程部分,线程和进程让人够头痛的内容. 一.线程概念 老样子,我们还是按我们讲进程时的方式说起,参看:UNIX再学习 -- 进程环境 首先需要了解下,什么是线程. Linux 下的线程,可能 ...
- UNIX再学习 -- 进程关系
APUE 第 10 章信号讲完,回过头来看一下第 9 章的进程关系.终端登录和网络登录部分,我们只讲 Linux 系统的. 一.终端登录 我记得我们讲 root 登录设置时有提到,参看:C语言再学习 ...
- UNIX再学习 -- 函数abort
abort 函数之前有讲过的,参看:C语言再学习 -- 关键字return和exit ()函数 然后我们在讲 8 中进程终止时,也说过.参看:UNIX再学习 -- exit 和 wait 系列函数 下 ...
- UNIX再学习 -- 信号
终于讲到信号部分,很多比较重要的应用程序都需处理信号.第 9 章需要先了解信号机制再看,所以先跳过不讲.现在开始详解信号. 一.信号概念 信号是提供异步事件处理机制的软件中断. 这些异步事件可能来自硬 ...
- UNIX再学习 -- 用户 ID 和组 ID
用户 ID和组 ID 的内容已经在好几章中出现过了.之前都没有讲到,现在放到一起总结. 一.用户 ID 和 组 ID 回顾 1.我们在APUE 第 4.6.8 章,都有涉及到. 其中我们用到的地方: ...
- UNIX再学习 -- 函数 system
一.system 函数 #include <stdlib.h> int system(const char *command); 1.参数解析 command:shell 命令行字符串 2 ...
- UNIX再学习 -- exec 函数族
我们在讲,文件I/O的时候,简单提到过 exec 函数,讲到 vfork 的时候,也有用到.下面我们来详细介绍下它. 参看:UNIX再学习 -- 文件I/O 参看:UNIX再学习 -- 函数 for ...
最新文章
- knockout学习笔记目录
- 482. License Key Formatting
- UVA11375火柴(递推+大数)
- GIT 牛刀小试 (第一发)
- 【Java】五种常见排序之-----------冒泡排序
- hdfs的副本数为啥增加了_HDFS详解之块大小和副本数
- linux rpm找不到命令_Linux实战013:yum工具丢失问题解决(yum安装)
- linux c++应用程序内存高或者占用CPU高的解决方案_20161213
- 禅道程序员的10条原则--转载--为了不忘
- 你为什么用微信,不用 QQ ?
- edius隐藏快捷键_Eduis快捷键,大家参考一下!【EDIUS】史上最全的EDIUS快捷键资料分享!...
- mentohust linux,(Mark) (树莓派) 树莓派编译libpcab和mentohust 
进行锐捷认证(Linux)(mentohust)...
- C. Mortal Kombat Tower(DP 走台阶问题)
- IOS(iphone,ipad,itouch)开发 之 屏幕旋转
- Lua中获取指定月份总天数
- 《人生效率手册》读后感
- 大数据能否解决城市所面临的环境问题
- ICCV2021已开放注册,附投稿时间节点、官方论文模版!
- TensorFlow:Graph计算图的概念
- 使用Jedis连接Redis失败的几个注意点
热门文章
- opencv学习记录——(5)图像像素的操作
- deepstream6.1-YOLOv5部署
- 从功能到年薪30W+的测试开发工程师,分享我这10年的职业规划路线
- SOLIDWORKS螺纹显示处理方法
- Shell 字符串转数组的三种方式
- Scene…… couldn‘t be loaded because it has not been added to the build settings or the AssetBundle...
- 身份证扫描识别OCR技术的应用场景
- 数据预处理-离群值检测与处理
- 用pandas绘制箱体图(boxplot)
- myeclipse 2015 stable2.0破解安装教程