UNIX - 技术教程文章

linux – Unix的核心在哪里?

我知道有很多这样的问题,但我确定这个问题很少见.我是一名计算机程序员,希望接受构建操作系统的挑战.我想以Unix为基础,因为我知道我所做的事情永远无法比较.我在哪里可以找到Unix?我不是指像Mint这样的东西(那是Linux,我知道).我的意思是他们都是基于的东西.我在哪里可以获得主文件,如引导加载程序和内核?解决方法:也许你对xv6感兴趣; Xv6是2006年夏天为麻省理工学院的操作系统课程开发的教学操作系统. UNIX OS上还有许多资源. 如...

linux – FreeBSD不是Unix.但它的Unix-Like Unix.那么主Unix在哪里阅读源代码?

我想要真正了解System V,它是Unix的主要起源(不是类Unix,也不是修改Unix到Linux).主要起源非常令人困惑,并没有真正谨慎地写在某处. 是真的FreeBSD不是Unix吗?但是什么是Unix或者它在哪里呢?我在哪里可以找到原始源代码来阅读它,看看传奇是如何诞生的. http://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg 跟进: http://www.lemis.com/grog/Documentation/Lions/index.php http://v6.cuzuco.com/解决方...

linux – 具有先前查找结果的Unix Tar Command【代码】

假设我们有4个文件:a.zip created on 28 feb 2018 b.zip created on 28 feb 2018 c.zip created on 2 mar 2018 d.zip created on 2 mar 2018我想搜索2月28日的文件和Tar it.find ./ -type f -ls | grep 'Feb 28' | tar -czf somefile3.tar --null -T -但它不起作用.解决方法:使用GNU或FreeBSD查找和GNU或BSD tar:find . -type f -newermt 2018-02-28 ! -newermt 2018-03-01 -print0 |tar -cf file.tar --null -T -(请注意,它排除...

Unix/Linux操作系统-线程同步【代码】【图】

一、同步、竞争、互斥同步:达到某种状态,当多个线程同时访问其共享的资源时,需要相互协调,防止出现数据不一致、不完整的问题。 竞争:有些资源在同一时刻只有一个线程访问,对于这种资源的访问,需要竞争。 互斥:当资源获取到后,能够防止资源被其他线程再次获取的方法交互斥。二、互斥量pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; int pthread_mutex_init (pthread_mutex_t *mutex,pthread_mutexattr_t *mutexattr...

linux – 70年代到80年代Unix是如何安装的?

好吧,自从80年代末以来我一直在电脑周围(实际上我就像3个人).走了一整步:Atari Xl-XE,MS-DOS,Windows 3.1,95等.然后开始使用Linux因为外观(是的我知道,Compiz-Fusion是探索Linux的真正原因)现在安装在我的所有机器.我甚至在Windows 10中都有它. 我以前从头开始组装机器,你可以随时启动到“MS-DOS”,这就是我记得的,这让我很奇怪. 如何在80年代或70年代后期安装Unix(我还没有活着)?是不是像引导一个大的软盘或黑魔法一样微不足道?...

linux – 为什么有AF_NETLINK? AF_UNIX还不够吗?

据我所知,AF_NETLINK套接字协议用于内核和用户空间之间的通信,AF_UNIX用于两个用户空间进程之间的通信. 为什么Linux需要单独的AF_NETLINK?为什么UNIX套接字不能用于内核和用户之间的通信?解决方法:起源和设计特征是不同的.从头开始设计协议通常是一个更好的主意,因为这样您就可以使它特别适合您的需求,而不会遇到传统协议的问题. 我认为这种选择是因为UNIX域套接字的内核实现太不同了,无法将智能移植到用户内核通信. AF_NETLINK的...

linux – 使用UNIX时间戳的BusyBox日期命令设置时间【代码】

在bash中,以下工作用于从UNIX时间戳(从纪元开始的秒数)设置日期:date +%s -s @`date +%s`在Busybox中,这不起作用.如何使用Busybox对date命令执行相同的操作?谢谢.解决方法:尝试date @`date +%s`我不认为这与bash有任何关系. Busybox’s date command是更经典的GNU/FSF date的轻量级版本

关于在linux / unix系统上创建和销毁敏感数据【代码】

在现代文件系统(以及现代SSD)中,无法保证如果使用传统实用程序(例如dd)对文件进行写入,则数据将被就地覆盖并且已记录的日志备份被破坏.结果,数据可能会被恢复.因此,经过一番研究后,我认为安装一个临时ramfs(tmpfs被排除,因为它有可能交换)将是要走的路:# mkdir -p /mnt/tmp/ram # mount -t ramfs -o size=[size, but ramfs grows as needed] ramfs /mnt/tmp/ram # [create the sensitive data, secure it, copy out secured data]...

ls -l输出在Unix / Linux系统的/ dev目录中

参见英文答案 > Understanding /dev and its subdirs and files 3个我已经读过/ dev目录包含指向设备驱动程序的设备文件. 现在我的问题是,当我做ls -l时,我得到这样的输出 第5和第6列的值代表什么及其意义?解决方法:这些是主要的,次要的数字,更多信息,您可以在这里找到:http://www.makelinux.net/ldd3/chp-3-sect-2.shtmlTraditionally, the major number identifies the driver associated ...

linux – 用于UNIX世界的屏幕/ tmux的Perl替代方案?【代码】

当需要类似屏幕/ tmux的解决方案时会发生什么(让流程长时间运行,但是因为可能需要交互而没有nohup) – 但是在给定的机器上没有screen / tmux,并且安装了屏幕/编译它不是一个解决方案? 问:是否有任何“短”perl脚本通常(或通常不会)用于实现此目标(在Linux / AIX /等上)? 只需要这个: >启动perl脚本>开始需要很长时间的特定事情>从终端卸下,例如:因为工作笔记本需要关闭下>重新连接到控制台以查看/控制已启动的长时间运行过程,...

linux – 同时读/写同一个unix socket?【代码】

是否可以同时读取/写入同一个unix套接字的两个或多个进程? 我做了一些测试. 这是我的sock_test.sh,它产生了50个客户端,每个客户端同时写入5K消息:#! /bin/bash --SOC='/tmp/tst.socket'test_fn() {soc=$1txt=$2for x in {1..5000}; doecho "${txt}" | socat - UNIX-CONNECT:"${soc}"done }for x in {01..50}; dotest_fn "${SOC}" "Test_${x}" & done然后我创建一个unix套接字并捕获文件sock_test.txt的所有流量:# netcat -klU /...

linux – 你的Unix的TTY主要数量是多少?【代码】

我目前正在开发一个串口库,它已经使用特殊的框架来获取有关系统上串行端口的信息.虽然串口是Unix中的基本设计 – 作为答案,如this one证明 – 我认为测试文件是否是串口的好方法是测试字符设备的主要模式并检查这是否真的是一个TTY. 在互联网上爬行,我找不到任何文件谈论整个统一的TTY主要模式.好吧,只有一个Linux手册页说明ptmx具有主模式5. 虽然我已经询问了基于this Stack Overflow的tty字符设备的实现细节问题,我想我可能会要求...

character-encoding – Linux中最常见的C语言编码(和Unix?)【代码】

为了创建一个在Windows和Linux之间可移植的源代码级别的C程序并很好地处理国际化,有恕我直言三种主要编码要考虑: > C源代码的编码.>外部数据的编码.>字符串和文字的编码. 对于C源代码,没有任何替代UTF-8与BOM,至少如果标准输入和宽字符串文字应该在Windows平台上工作.没有BOM的UTF-8会导致Microsoft的Visual C编译器对源代码采用Windows ANSI编码,这对于通过std :: cout输出的UTF-8来说很有用,但这种程度有限(Windows控制台窗口有...

知道Linux需要学习Unix

是否需要了解Linux才能学习其他Unix.我不了解Linux,但我打算学习Sun Solaris.解决方法:从用户的角度来看,所有* nix之类的系统(Linux,Ubuntu,Red Hat,Sun / Solaris,AIX)基本相同.通过这个我的意思是用户最常用的命令(vi,cat,more,cd,mkdir,rmdir,rm,cp,mv,man)可用,并且具有大多数相同的选项. 但是,如果您想进行系统管理,则它们是不同的;有时非常不同. 至于Unix课程,您必须查看课程说明或询问您的老师.

linux – 如何只使用Busybox工具将具有指定月份的日期转换为unix时间戳?【代码】

我正在一个我几乎只能访问busybox工具的环境中工作,并尝试将格式为Mon 1月1日格林威治标准时间23:59:59的日期转换为shell脚本中的unix时间戳.我无法更改我正在解析的输入时间的格式.似乎busybox日期无法理解此日期格式或任何其他具有命名月份的格式.我有一个非常丑陋的脚本可以做到这一点,但有没有人知道更好的东西? 编辑:日期-D选项对我不起作用,我明白了date: invalid option -- 'D' BusyBox v1.24.1 (2018-01-11 16:07:4...

linux – Unix如何实现文件权限?

我有一个名为foo.txt的文本文件,在一个Linux发行版中具有root权限.我将它复制到另一台计算机上的另一个Linux发行版. 是否仍会为foo.txt维护文件权限? 如果是,Unix / Linux linux如何知道,并复制文件的权限? 它是否为文件添加了额外的字节(表示权限)?解决方法:要添加Eric的答案(没有代表注释),权限不会存储在文件中,而是文件的inode(文件系统指向磁盘上文件的物理位置的指针)作为元数据以及所有者和时间戳.这意味着将文件复制到非...

Unix/Linux shell脚本中 “set -e” 的作用【代码】

“set -e” 是什么? 如下脚本: #!/bin/bash set -e command 1 command 2 ... 在脚本开头加上set -e,这句语句告诉bash如果任何语句的执行结果不是true则应该退出。 “set -e” 作用是什么?(1)使用-e帮助你检查错误;(2)防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉;(3)如果要增加可读性,可以使用set -o errexit,它的作用与set -e相同;“set -e” 弊端是什么?(1)无法检查$?,因为如...

今天Unix和Linux内核之间的主要区别是什么?

我知道许多相同的程序在两个内核之上运行完美.我知道,从历史上看,这两个内核来自不同的起源.我在哲学上也知道他们代表不同的东西.我的问题是,今天,在2011年,是什么让Unix内核与Linux内核不同,反之亦然?解决方法:没有一个名为“Unix内核”的独特东西.原始Unix内核源代码主干有多个后代,它们在不同的阶段分支分支,并根据自己的需要分别进化. 目前主流的操作系统可以从System V源代码:AIX,HPUX,Solaris或BSD源代码,OpenBSD,FreeBSD和...

如何判断我的系统是Unix还是Linux?

问题在于标题:如何判断我的系统是Unix还是Linux? 我正在使用2010年份的Macbook Pro.解决方法:POSIX定义uname(“Unix名称”)以提供有关操作系统和硬件平台的信息;运行uname给出了操作系统实现的名称(或者根据coreutils文档,内核).您可以在终端中以交互方式执行此操作,也可以在脚本中使用输出. 在Linux系统上,uname将打印Linux. 在Mac OS X系统上,uname将打印Darwin. (严格来说,任何带有Darwin内核的操作系统都会产生这种情况,但在...

linux – 我可以安装一个方便的小型Unix虚拟机作为Android应用吗?

Ubuntu for Android似乎在行动中缺失. 我明天要去旅行,我需要带一台基本的Linux机器.我宁可拿我的平板电脑而不是笔记本电脑.那么有一个合理的简单Linux虚拟机,我可以安装为Android应用程序.我可以从任何我找到的PC(最好是通过USB线)与Putty一起使用? 我希望能够运行至少emacs,git和rsync.理想情况下是Python.解决方法:是的,有一个名为Linux-on-android的虚拟机.我听说过,很少有朋友使用它,他们有很好的经验.你可以在sourceforge找...

linux – Unix系统(“unzip archive.zip”)静默提取Zip文件【代码】

如何在不显示状态的情况下静默提取文件. 之前问过这个问题,希望能在这里得到更好的答案.解决方法:男子解压缩:-q perform operations quietly (-qq = even quieter). Ordinarilyunzip prints the names of the files it's extracting or testing,the extraction methods, any file or zipfile comments that may bestored in the archive, and possibly a summary when finished witheach archive. The -q[q] options...

linux – Unix文件系统结构有哪些优点

如果我在Linux中安装一个应用程序,例如Debian / Gnu Linux,那么应用程序的文件将被复制到文件系统中的许多不同目录中. 有些脚本进入/usr/share .. /usr/local其他一些文件到/ var .. / log .. etc /等等. 对我来说这是o.k因为我学到了一些关于文件系统的东西,并且大多数目录都是为了特定目的而保存文件.这非常适合Unix哲学“做一件事,做得好” 但我的问题是这样的目录结构的优点是什么?或者它只是旧的unix时代的遗产.(例如,与一个...

不同的Linux / Unix内核是否可以互换?

我可以使用Linux内核并将其与FreeBSD一起使用,反之亦然(例如,Debian中的FreeBSD内核)吗?有一个普遍的答案吗?有什么限制?有什么阻碍?解决方法:不,来自不同类型的Unix操作系统的内核不可互换,特别是因为它们都向系统的其余部分(用户空间)提供不同的接口 – 它们的系统调用(包括ioctl细节),它们使用的各种虚拟文件系统… 在某种程度上,在源级别可以互换的是内核和C库的组合,或者更确切地说,是内核和库所公开的用户级API(实质上是P...

linux – 了解UNIX权限和文件类型【代码】

我从来没有真正知道chmod如何工作直到今天.我按照一个教程解释了一件大事. 例如,我读过你有三个不同的权限组: >所有者(你)>组(g)>每个人(o) 基于这三个群体,我现在知道: >如果文件归用户所有,则用户权限将确定访问权限.>如果文件组与用户组相同,则组权限确定访问权限.>如果用户不是文件所有者,并且不在组中,则使用其他权限. 我还了解到你已获得以下权限: >读(r)>写(w)>执行(x) 我创建了一个目录来测试我新获得的知识:mkdir tes...

如何从头开始编译C编译器,然后从头开始编译Unix / Linux

假设我在美国/英国以外的大型服务机构工作.我们广泛使用UNIX和Linux服务器. 阅读this article它提到将后门插入C编译器很容易,然后用该编译器编译的任何代码也将包含后门.现在鉴于最近有关NSA / GCHQ要求在所有加密方法,硬件和软件中加入后门/弱点的漏洞,编译器现在是一个关键的失败点.可能所有标准的UNIX / Linix发行版都会受到攻击.我们不能让流氓政府妥协我们的系统,数据和客户数据. 鉴于这些信息,我想从头开始构建一个可靠的编译...

Ubuntu php5-fpm unix socket【代码】

我有Ubuntu 11.10并安装了php5-fpm,我想配置nginx.我想使用unix套接字而不是tcp套接字,但我找不到/var/run/php5-fpm.sock我也看了/tmp/php5-fpm.sockphp5-fpm.sock文件在哪里?我也试过了locate php5-fpm.sock但我找不到任何东西.注意:php5-fpm正在运行.我已经开始作为一项服务http://blog.bigdinosaur.org/wordpress-on-nginx/http://blog.nas-admin.org/?p=25解决方法:在12.10 Quantal之前的默认配置中,PHP FPM设置为侦听地址12...

UNIX/Linux系统命令(4)——进程操作【代码】

一.基本概念 1.进程与程序: 程序:存储在磁盘上的文件,包含可执行指令和数据的静态实体 进程:运行中的程序(一个程序可执行多次,加载出多个进程) 进入就是处于活动状态的计算机程序 2.进程的分类: 交互进程:有输入,输出,用户可以根据自己的情况输入数据,得到想要的结果(一般进程) 批处理进程:由脚本加载执行的程序(Linux下的shell,windows下的bat) 守护进程:总是活跃的,后台运行,一般由系统开机是加载执行或root用户手动加载执行 3.查...

Unix Shell范例精解---AWK练习(上)【代码】

Unix Shell范例精解第六章---AWK实用程序中有六个练习题,从简单到复杂,目前做了前面3道题目,后面的3题感觉做起来很吃力,关于循环、数组、函数的题目,不知道要怎么做。 AWK练习1:练习1主要练习的是模式为正则表达式的操作,有些题目可以用书里后面讲解的内容解答 [kevin.tao@cws76 Ex_6.001-6.054]$ cat lab3.data Mike Harrington:(510) 548-1278:250:100:175 Christian Dobbins:(408) 538-2358:155:90:201 Susan Dalsass:(...

类Unix/Linux系统根目录初级解析

原文链接:http://www.cnblogs.com/richard-g/archive/2012/10/31/3589571.htmlUnix系统目录功能解析相关的文章已经不少,对每一个目录的功能用途已经相关规范,但是很多,或者说我所读过的资料都没有将最基本的目录名来源说清楚,有时候一些读者(像我这样笨笨的)会自己努力去联想目录名字从字面上代表什么意思,费了很大劲,但是有些很偏的目录名(如opt)直到今天才完整了解其意思。所以这篇短文不准备详细去介绍目录的用途,而...

在unix(solaris / linux)中通过进程的线程查找资源(CPU和内存)的使用情况【代码】

我有一个多线程应用程序(C和pthread库),我想知道每个线程使用多少资源(CPU和内存).有没有办法在Solaris和Linux上找到这些细节,无论是两者还是其中任何一个.解决方法:你可以使用ps命令和一些选项:ps -eLo pid,ppid,lwp,nlwp,osz,rss,ruser,pcpu,stime,etime,args | morePID PPID LWP NLWP SZ RSS RUSER %CPU STIME ELAPSED COMMAND0 0 1 1 0 0 root 0.0 Oct_02 4-02:13:37 sched1 ...