英语音标,Linux 根底问答(一),心经全文

小编推荐 · 2019-04-19

Linux 基础问答(一)

近期,Openbiox小组展开了一次关于Linux的基础问答活动,现将问题及成果收拾如下,以供咱们参阅及学习。

1.核算机硬件和软件的联系是什么?

硬件是核算机体系的物理组成部分,即核算机体系中的各种物理设备,包含操控器、运算器、内存储器、I/O设备(如硬盘、键盘)以及外存储器等。它是核算机体系的物质基础。

软件体系便是悉数程序、数据和相关文件的调集。从狭义的角度上讲,软件是指核算机运转所需的各种程序。没有硬件,谈不上运用核算机。可是,光有硬件而没有软件,核算机也不能作业。(1)硬件和软件彼此依存;(2)硬件和软件无严厉界限;(3)硬件和软件协同开展。

核算机软件和硬件密不可分,和谐作业。软件的运转经过硬件呈现给用户,用户经过硬件进行开发及修正软件,二者彼此依存,缺一不可。脱离了硬件的软件什么也做不了,脱离软件的硬件也仅仅铺排。关于核算机而言,软件像是魂灵,硬件像是肉体。二者彼此依存。一起二者也彼此约束。在核算机的前期,硬件很单薄,约束了核算机的开展;现在,硬件装备许多都很高了,软件的优化对进步核算机的功用十分要害。以手机为例,前期的智能机内存一般只要512MB,进步手机内存是处理手机卡顿的要害要素,而现在,许多手机的内存已达10GB乃至12GB,超越了许多电脑的内存,可是许多时分依然卡顿,一个重要的原因是软件优化不行好(许多程序规划者在面临大内存时,以不将内存优化作为程序规划的关键,所以呈现了你有多少硬件资源,我软件就要占用多少硬件资源),英语音标,Linux 基础问答(一),心经全文占用了许多的硬件资源。

综上,硬件和软件是核算机重要组成部分,缺一不可。核算机功用的进步即依托于硬件装备的进步,也依托于软件水平的优化。

**参阅资料:**

<https://www.sophia.org/tutorials/the-relationship-between-hardware-and-software>

<https://www.quora.com/What-is-the-relation-between-hardware-and-赵子国software-2>

2. 常见的 Linux 发行版别有哪些?它们的首要不同在什么当地?

Linux 发行版别是根据`Linux内核`和`软件包办理体系`创立的操作体系。一般一个 Linux 发行版包含 Linux 内核、GNU 东西和库、其他一些软件以及窗口体系、窗口办理器和桌面环境。

迄今为止,现已有超越 600 多个 Linux 发行版别,其间将近 500 个仍处于活泼开发状况。其间最常用的一些商业支撑发行版有:Fedora(Red Hat), openSUSE(SUSE) 和 Ubuntu,社区驱动的发行版有:Debian, Slackware, Gentoo和 Arch Linux。

值得一提的是 Android 体系,咱们知道 Android 也是根据 Linux 的,可是它是不是一个 Linux 发行版别呢?许多大佬有不同的定见,有人以为 Android 也是一种发行版,有人指出 Android 短少包含 glibc 在内的许多 GUN 东西,因而不能算是一种 Linux 发行版。

Linux 发行版 = Linux 内核 + 商业软件

常见的 Linux 发行版:

- 国外:RedHat、Fedora、Centos、SUSE、Debian、Ubuntu、Mint、Arch、Manjaro

- 国内:[红旗](http://www.redflag-linux.com/)、[Deepin](https://www.deepin.org/)


是不是一千个用户就有一千个 Linux 体系引荐理由?

**用户一:**

Ubuntu 对核算机硬件的支撑好于 Centos 和 Debian,兼容性强,合适新手(例如自己);CentOS 去除许多与效劳器功用无关的运用,体系简略但十分安稳,指令行操作能够便利办理体系和运用,常见于公司体系;Debian 整个体系基础中心十分小,不只安稳,而且占用硬盘空间小,占用内存小,关于小内存,首选 Debian,关于十分了解 Linux 体系的 vps 高手,首选 Debian。

**用户二:**

- Centos 体系有十分多的商业公司布置在出产环境上的效劳器都是运用 CentOS 体系,C牛生殖器entos 是从 Redhat 源代码编译从头发布版,Centos 去除许多与效劳器功用无关的运用,体系简略但十分安稳,指令行操作能够便利办理体系和运用,而且有协助文档和社区的支撑。

- Ubuntu体系有着靓丽的用户界面,完善的包办理体系,强壮的软件源支撑,丰厚的技术社区,而且 Ubuntu 对核算机硬件的支撑优于 Centos 和 Debian,兼容性强,Ubuntu 运用十分多,可是关于效劳器操作体系来说,并不需求太多的运用程序,需求的是安稳,操作便利,维护简略的体系。假如你需求在效劳器端运用图形界面,Ubuntu 是一个不错的挑选,你需求留意的是,图形界面占用的内存十分大,而内存越大的 vps 价格也越高;

- Debian 体系也十分合适做效劳器操作体系,与 Ubuntu 比较,它没有太多的花哨,安稳名列前茅,关于效劳器操作体系来说是一条不变的真理,Debian 这 个Linux 体系,底层十分安稳,内核和内存的占用都十分小,在小内存的 vps 就能够顺利运转 Debian,比方 128M 的内存,但 Debian 的协助文档和技术资料比较少,关于小内存,首选 Debian,关于十分了解 Linux 体系的 vps 高手,首选 Debian。

**用户三:**

常见的发行版别如下:

- 根据RPM:首要是Red Hat和SUSE运用.rpm文件格局作为包文件,包含Red Hat Linux, CentOS, Fedora, openSUSE等。

- 根据Debian:运用.deb文件格局作为包文件,包含Kali Linux, Ubuntu

- 根据Pacman:能够有用处理各个软件包之间的依托联系,主动下载装置相关的包,包含Arch Linux,Manjaro Linux等。

- 根据Gentoo:如Chrome OS等。

**参阅资料:**

<https://upload.wikimedia.org/  wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg>

<https://en.wikipedia.org/wiki/铁总王彦华Linux_distribution>

<https://www.techradar.c校宝体系登录om/news/best-linux-distro>

<https://www.lifewire.com/top-linux-distributions-of-all-time-4084559>

<https://itsfoss.com/best-linux-beginners/>

<https://www.howtogeek.com/191207/10-of-the-most-popular-linux-distributions-compared/>

3. 如安在一台全新的核算机上装置 Linux 操作体系?

Windows 是最受欢迎的桌面操作体系之一,因为到现在为止,大多数作业和文娱软件运用(如游戏)对 Linux 体系的支撑很不行。尽管国内的 Deeplin 团队现已移植了许多 Windows 下的常用东西(如搜狗输入法,QQ、网易云音乐等),关于 Linux 新手来说,想彻底不运用 Windows 体系依然有相当大的难度。特别当某些软件只能在 Windows 上运转,而又需求多人协作时。所以,一般咱们会引荐绝大多数一般 Windows 用户经过装置 Linux 虚拟机或许双体系来入门 Linux,假如是依托 Linux 环境的日常开发,也能够运用 Windows 子体系(Windows Subsystem,WSL)进行。


装置 Linux 体系有不同的办法,但一般最常用的是下载并刻录 Live CD 的方法。首要需求下载装置文件,待 `.iso` 文件下载完结后,放入空白 CD,把 ISO 文件刻录上去。CD 刻录完结后,从头发动核算机,等候屏幕显现“按任意键从CD发动”(“press any key to boot from CD”)的提示,经过光盘引导,进入 Linux 装置程序;与 Live CD 比较,Live USB 需求一些额定设置。插上制作好的 Live USB,重启核算机并进入 BIOS 设置(一般是发动时,按 Delete 键进入,发动画面上会提示)。进入 BIOS 引导单元(Boot),然后找到更改体系引导次序的选项,把 USB 驱动器调整到列表顶部,最终保存设置并退出 BIOS。再次重启核算机,体系就会主动进入 Unetbootin 菜单,这时你就能够进行 Linux 的装置了。


以上简略归纳便是和装置 Windows 体系相似,下载体系镜像文件 - 刻录体系盘 - BIOS刻录盘发动装置即可。


需求留意的是,在测验装置 Linux体系之前,你或许需求先了解 Linux 的文件体系,以及挂载相关的概念。别的,不同发布版别的 Linux 体系装置难易是有不同,主张测验不同发布版别 Linux 并挑选最合适你的一款。


**参阅资料:**

<https://blog.csdn.net/tototuzuoquan/article/details/41368607>

<https://mp.weixin.qq.com/s/pom-xQzlGy8enX9Io1FLaQ>

<https://www.cnet.com/how-to/how-to-install-linux/>

<https://www.zdnet.com/article/how-to-install-linux-mint-on-your-windows-pc/>

<https://www.zdnet.com/article/installing-linux-on-your-pc-is-super-easy-heres-how-to-do-it/>


4. 在 Win10 自带的子体系下运转 Ubuntu,和独立运用 Ubuntu 体系,前者的优缺陷怎样?

长处:

- 不用独自装置 Ubuntu 操作体系,大部分状况下运用 Windows 体系,可视化好,处理数据时运用 Ubuntu。

- 能够在 Windows 上运用 Linux。指令,这关于广阔习惯于Linux体系的程序员来说带来了极大的便利。在必定程度上避免了运用虚拟机和双体系的费事。

- 装置简洁。在Windows上你只需求点几回鼠标,激活WSL功用,然后去微软商铺免费下载即可。一起也是免费的。

- 能够针对Windows体系操作。能够拜访、检索、修正、处理Windows体系的文件。

缺陷:

- 功用有限,WSL 无法运转悉数Linux软件(如32位二进制文件)或需求在WSL中未完结的特定Linux内核效劳的软件。假如你需求完好的Linux效劳,或许有某些特别的需求,WSL并不必定能够满意你,这个时分虚拟机或许是一个更好的挑选。

- 图形化界面首要依托本地 X server 或许长途桌面完结,或许无法运用部分根据 Linux 的图形界面程序。

- 因为WSL中没有“真实的”Linux内核,因而关于一些设备驱动程序支撑还很欠好,如 Nvida 显卡。

- 尽管 WSL 的 CPU 和内存运用功用与正常装置的 Linux 体系挨近,可是因为 Windows 文件体系的连累以及 Windows 安全扫描东西的存在,WSL 体系的硬盘读写速度较原生的 Linux 体系仍有较大距离。


微软好像正在变成开源的拥簇,不光在 Windows 上开放了 WSL,还收买了 GitHub。尽管说 WSL 还存在必定的局限性,可是它的逐步变好,越来越完善。


**参阅资料:**

<https://virtualizationreview.com/articles/2018/07/17/reasons-to-not-use-wsl.aspx>

<https://www.quora.com/Why-has-Microsoft-created-WSL-What-are-its-advantages-over-earlier-methods-of-using-Linux-in-Windows>

<https://devblogs.microsoft.com/premier-developer/why-developers-should-install-wsl-today/><https://www.reddit.com/r/elementaryos/comments/67orea/advantages_disadvantages_over_windows_10/>

<http://www.akitaonrails.com/2017/09/20/windows-subsystem-for-linux-is-good-but-not-enough-yet>

5. Linux 体系常见的文件体系有哪几种?Windo英语音标,Linux 基础问答(一),心经全文ws体系上看到的C盘、D盘,在Linux 体系下是以什么样的方法存在?

在核算机中,文件体系(file system)是命名文件及放置文件的逻辑存储和康复的体系。文件体系指定命名文件的规矩。这些规矩包含文件名的字符数最许多,哪种字符能够运用,以及某些体系中文件名后缀能够有多长。文件体系还包含经过目录结构找到文件的指定途径的格局。


Linux 下没有 C、D 盘等硬盘分区的概念。Linux 下是选用目录方法来代替 Windows 中硬盘分区的概念,即咱们常说的 Linux 体系中,“悉数皆是文件”。即便是传统意义上的文件夹,在 Linux 体系中也是文件。程序、效劳、文本、图片等等也都是文件,一些外接设备也是文件。首要支撑的文件体系包含 ext2、ext3、vfat、ntfs、iso9660、jffs、romfs,nfs 以及其他更新的文件体系,比方华为的 erofs 文件体系等。

(1)ext 专门为 Linux 规划的,为 Linux 中心所做的第一个文件体系。单个文件最大约束:不知道;该文件体系最大支撑 2 GB的容量。

(2)ext2 由 Rmy Card 规划,用以代替 ext,是LINUX内核所用的文件体系。单个文件最大约束 2 TB;该文件体系最大支撑 32 TB 的容量。

(3)ext3一个日志文件体系。单个文件最大约束 16 TB,该文件体系最大支撑 32 TB的容量。

(4)ext4Theodore Tso 领导的开发团队完结,Linux 体系下的日志文件体系。单个文件最大约束 16 TB,该文件体系最大支撑 1EB 的容量。

(5)JFS2 一种字节级日志文件体系,该文件体系首要是为满意效劳器的高吞吐量和牢靠性需求而规划、开发的。单个文件最大约束 16 TB,该文件体系最大支撑 1 PB的容量。

现在绝大多数 Linux 发行版都是默许 `ext4` 作为默许文件体系,在这之前还有 `ext3`、`ext2`、`ext`等。

在 ext 文件体系运用之前,Unix 首要运用 MINIX 文件体系,可是它不是开源免费的。当 Linus Torvalds 开发 Linux 内核时,也是运用的 MINIX 文件体系。不过该体系只能最大支撑 14 个字节的文件名和 64 MB 巨细的存储空间。

1992 年,Remy Card 发布了第一个 ext 体系,并运用于 Linux。ext 体系能够支撑 255 字节文件名和 2 GB 的存储空间。不过 ext 的缺陷是一个文件只能有一个时刻戳,而不是像今日这样能够有 3 个时刻戳(创立时刻、拜访时刻和修正时刻)。所以很快 Remy 又发布了 ext2 文件体系,ext2 能够处理数 GB郑木岩 巨细的文件和数 TB 巨细的存储空间。可是它的问题是假如体系呈现问题或许向硬盘写入数据时断电,会形成整个灾难性的溃散,其他许多文件也会受到牵连。而且文件的碎片化问题严峻拖慢了体系速度。在 1993 年,Stephen Tweedie 发布了 ext3 文件体系,它和微软的 NTFS 文件体系相似,选用了日志化 `journal` 的办法来处理断电问题,日志是磁盘上的一块专门的分区,来记载磁盘读写状况。一次写入完结之后,会记载在日志中,假如在写的进程中呈现来断电等状况而中止,那么从头发动体系后,经过日志能够识别出之前不完好的写入,并将该写入删去。这就意味着选用 ext3 体系能够很好的维护其他文件不受断电等要素影响。ext3 选用 32 位地址,这就意味着它能处理的文件最大 2 TB,文件体系最大到 16 TB。在 2006 年,呈现了 ext4 文件体系,与 ext3 文件体系比较,ext4 的优势在于:

- 向后兼容,能够兼容ext3文件体系。

- 更大的文件体系,ext4选用48位地址,能够最大支撑16TB文件和1EB(1000000TB)巨细的文件体系。

- 更快的读写速度。

- 削减磁盘碎片的发生。

- ext3最大支撑32000个子目录,而ext4则没有任何约束。

- 对文件日志的检查,确保安稳性。

- 更精密的时刻戳。ext3能够准确到秒,而ext4能够准确到纳秒级,一起ext4扩展了能够记载的时刻尺度到AD2446年。


弥补知识点:


Windows 中的 C 盘、D 盘是以 "\" 为途径,而 Linux 以 “/”为途径。

Windows 常见的文件体系:NTFS:全名 New Technology File System 即新技术文件体系,被遍及用于 Windows XP 以上版别的 Windows 中,代替本来 FAT32。(1)运用规模:NTFS 多用于台式机电脑、笔记本及平板电脑、移动硬盘等大中型空间容量的磁盘。而 FAT32 多用于 U 盘、内存卡等小型空间容量的磁盘。它们选用 FAT32 的原因是,NTFS 首要是针对传统机械硬盘而规划的,关于U盘或内存卡这种闪存资料不适用。NTFS 分区选用“日志式”的文件体系,这种格局会对 U 盘这种闪存储介质会形成较大的担负,会直接形成U盘简略损坏;(2)最大分区容量约束:FAT32 在 WIN2000 和 XP 体系中最大分区容量约束为 2 TB的容量。NTFS 没有容量约束,硬盘空间的容量有多大,NTFS 就能够分到多大;(3)单个文件容量约束:FAT32 在实践运转中不支撑单个文件大于 4 GB 的文件,一旦超越容量约束那么体系就会提示磁盘空间缺乏。NTFS 现已突破了单个文件 4 GB 的容量约束,现已差不多彻底代替 FAT32 分区格局了,已在 Win7/Win8/Win10 体系中广泛运用。(4)安全:NTFS分区格局,用户能够对该格局分区下悉数的文件夹或文件进行加密、修正、写入等权限的安全设置,而 FAT32 没有这种功用。


体系分区:在 Windows 咱们常常看到 C 盘或 D 盘等的体系分区。在 Linux 也存在分区,可是和 Windows 上的分区彻底不一样。分区的意图首要是为了维护数据和体系的安稳,当一个分区呈现问题时,不会影响和损坏其他分区。在Linux体系上有两种首要的分区:

- 数据分区`data partition`:寄存正常 Linux 体系的数据,包含体系的发动和运转等等。

- 交流分区`swap partition`:用来运用必定的硬盘空间来扩展核算机的内存。交流分区只能体系自己有拜访权限,一般状况下,你是看不到的。它的存在首要是为了确保体系的安稳。在 Linux 体系中,你很少看到“体系内存缺乏”的提示,这首要是因为交流分区的存在。尽管拜访交流分区比拜访物理内存慢,但能够很大程度上处理体系内存的问题。在装置 Linux 体系时,咱们一般会把交流分区的巨细设为实践物理内存的两倍,即假如你有 512MB 的 RAM,那么交流分区则设为 1GB 巨细。


**参阅资料:**

<https://opensource.com/article/18/4/ext4-filesystem>

<https://en.wikipedia.org/wiki/File_system>

<https://www.tecmint.com/linux-file-system-explained/>

<https://www.tldp.org/LDP/intro-linux/html/sect_03_01.html>

<https://www.pks.mpg.de/~mueller/docs/suse10.2/html/opensuse-manual_en/manual/sec.new.fs.html>

<https://www.howtogeek.com/howto/33552/htg-explains-which-linux-file-system-should-you-choose/>

6. 什么是“根目录“、“家目录”?

根目录(`/`)只要一个,是设备的最顶层目录,简直悉数与 Linux 有关的东西都在根目录 `/` 下,它是体系结构的最高层级,其他悉数目录都在根目录下。

家(HOME)目录是是每个用户登录体系后地点的目录,是为了多用户运用体系和便利办理而为设置的一个目录,一般在 `/home` 下,用于存储用户私密文件的子目录。每个用户一般只能拜访自己的家目录。一般以用户名作为目录,能够用 `cd ~` 快速进入当时用户的家目录。

7. 简述文件的绝对途径和相对途径

文件途径是文件在整个体系中的方位。绝对途径是从体系根目录 `/` 到该文件的路由进程,即从根目录开端的途径。

相对途径的概念是相关于自己的方针文件方位。如以当时目录(`.`)为参照物,其他文件的相对途径便是从当时指令行程序地点的作业途径 `pwd` 抵达方针文件的路由进程。`..` 表明父目录。

8. Linux 体系在根目录(/)下一般会有哪些目录,它们别离有什么效果?

- /bin,包含二进制可履行文件的目录,寄存常用可履行指令的目录。如常用的单用户方式下所需求的 Linux 指令,其他多用户需求的指令,比方 `ps`,`ls`,`grep` 等。

- /sbin,办理类的指令,一般是体系办理员运用的,比方`iptables`,`reboot`,`fdisk`,`ifconfi`等。

- /lib,寄存体系库文件,为/bin或/sbin文件夹中的二进制程序供给必需的库文件,如ld\*或许lib\*.so.\*

- /etc,装备文件的寄存方位,该目录下的装备文件是针对体系层级的,假如是个人装备,则在其家目录中。

- /usr,用户运用的运用和文件(非体系必需的),相似于 Windows 的 Program File,寄存默许装置文件寄存的目录。一些非体系必需的用户运用寄存在该目录中的`/usr/bin`中,非体系必需的体系运用寄存在`/usr/sbin`中,它们所需求的库存在在`/usr/l厚夫厚夫规划顾问公司ib`中。

- /boot,引导文件,如 bootloader(grub),与体系发动相关;Linux 内核文件(kernel)也在该目录下。一般状况不要修正该目录下的文件,不然或许会导致体系无法发动。

- /dev,设备文件地点目录,包含有代表硬件设备东莞长安气候的特别文件。比方`/dev/sda`表明体系中第一个SATA盘。该目录也会包含一些虚拟设备,比方`/dev/null`表明一个虚拟的设备,你把输出内容存到该设备中,就意味着你丢掉了你的输出内容。

- /root,寄存root用户相关文件的目录

- /home,/root,用户主目录,寄存一般用户相关文件的目录

- /misc,杂项

- /opt,option,有些第三方软件,把此目录当作默许装置方位

- /proc,内存中的内核相关信息的映射,包含体系进程的信息,比方能够经过pid在此目录下检查相关进程信息,`/proc/{pid}`

- /sys,像磁盘这样的存储设备或某些总线设备的驱动程序相关特点信息;

- /srv,service,效劳运转中中心的寄存方位;

- /tmp,寄存暂时文件的目录

- /var:寄存一些常常改动的数据,一些文件随时改动的,比方系反派兵王统日志`/var/log`等,能够在此目录下检查。还有包和数据库文件`/var/lib`,网页效劳数据 `/var/www`,电子邮件`/var/email`,打印行列`/var/spool`等。

- /mnt,暂时挂载点目录,如默许挂载软驱、光驱的目录。在 WSL 中,在此目录下能够找到 Windows 的盘符,进入 Windows 体系文件。

- /media,可移除媒体挂载目录,比方你将一个 CD 刺进 Linux 体系中,在此目录下会主动生成一个能够拜访该 CD 内容的子目录。


参阅资料:

<https://www.linux.com/blog/learn/intro-to-linux/2018/4/linux-filesystem-explained>

<https://www.tecmint.com/linux-directory-structure-and-important-files-paths-explained/>

9. 什么是 Linux 体系的内核,怎样检查内核版别号?

Linux 内核是底层体系,担任运用和硬件的接口调用,假如没有内核,运用将无法调用物理硬件。Linux内核归于monolithic型的内核,包含了CPU、内存、IPC、设备驱动、文件体系等。内核是整个操作体系的心脏,也是运转程序和办理像磁盘和打印机等硬件设备的中心程序,它供给了一个在裸设备与运用程序间的笼统层。

Linux内核版别有两种:安稳版(次版别为偶数)和开发版(次版别为奇数)

版别号:主版别.次版别.释出版别-修正版别

检查内核版别:

- `uname -a`;`uname -r`

- `cat /proc/version`

- 运用`ls /boot`能够看到`vmlinuz-2.6.32-754.10.1.el6.x86_64`相似的文件,这实践上便是Linux的内核

- 检查distribution版别:`cat /etc/issue`或`者cat /etc/redhat-release`(`cat /etc/centos-rele全城嘿咻ase`)

 参阅资料:

<https://en.wikipedia.org/wiki/Linux_kernel>

<https://zh.wikipedia.org/zh-hans/Linux%E5%86%85%E6%A 0%B8>

<https://itsfoss.com/find-w青丝彼苍电视剧全集1hich-kernel-version-is-running-in-ubuntu/>

<https://www.howtogeek.com/howto/31632/what-is-the-linux-kernel-and-what-does-it-do/>

<https://www.kernel.org/>

<https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html>

10. 在 Linux 下怎样检查电脑的硬件信息(如内存、CPU、硬盘、显卡等)

- CPU,`lscpu`;`cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"`

- 内存,`free -m`;`cat /proc/meminfo |grep MemTotal`

- 硬盘,`lsblk`;`df -h`

- 显卡,`lspci  | grep -i vga`

- USB,`lsusb`


`lspci` 能够用于检查 PCI 设备,包含 USB、显卡、网卡、声卡等硬件


参阅资料:

<https://vitux.com/get-linux-system-and-hardware-details-on-the-command-line/>

<https://www.tecmint.com/commands-to-collect-system-and-hardware-information-in-linux/>

<https://www.binarytides.com/linux-commands-hardware-info/>

<https://www.maketecheasier.com/check-hardware-information-linux/>

<https://askubuntu.com/questions/31618/how-can-i-find-my-hardware-details>

11. 在Linux 需求运用哪些指令来挂载一个移动硬盘?假如挂载时报错,一般会有哪几种状况?别离怎样处理?

Linux下,mount挂载的效果,便是将一个设备(一般是存储设备)挂接到一个已存在的目录上。拜访这个目录便是拜访该存储设备。

手动挂载移动硬盘的过程:

- 首要切换至 root 权限

- 输入 `fdisk-l`,查询当时外部设备(移动硬盘)的标识符,如 `/dev/sdb`

- 新建挂载点 `mkdir /mnt/hddisk1`

- 挂载,如 `mount /dev/sdb1 /mnt/hddisk1`;NTFS 格局硬盘,`mount -t ntfs-3g /dev/sdd1 /mnt/bbj`

- 数据传输和修正,`rsync`、`cp`、`mv`等一系列操作

- `df -hl`;检查硬盘容量

- 卸载移动硬盘,`umount /mnt/bbj`;`umount -lf /mnt/bbj` 进行强制卸载(当有程序占用时慎重运用)


**或许呈现的过错:**

1. 非办理员权限进行 mount 操作

2. 当运用umount指令卸载挂载点时,会遇到“device is busy”提示,能够进行如下操作:

- `sync;echo 3 > /proc/sys/vm/drop_caches`;同步传输数据;

- `fuser` 能够显现出当时哪个程序在运用磁盘上的某个文件、挂载点、乃至网络端口,并给出程序进程的详细信息.

- `fuser -m -v /dev/sdd`:检查一下哪个用户哪个进程占用着此设备 ;

- `fuser -m -v -k /dev/sdd` :杀掉占用此设备的进程 ;

- `umount /mnt/bbj`;卸载移动硬盘;

3. mount: /dev/sdb1 is write-protected, mounting read-only,该移动硬盘现已被挂载,能够运用 `mount --bind /mnt/m1 /mnt/3` 进行多重挂载

4. 假如目录没有被挂载过,运用 `umount` 会呈现 umount: /dev/sdb: not mounted 过错提示

5. 挂载后没有在目录找到本来想要的文件,或许是该移动硬盘有多个分区,能够测验顺次挂载 `/dev/sdb1`,`/dev/sdb2`等等

6. 假如移动硬盘在 Windows 体系下没有被正常卸载,挂载时会呈现保镳泰诺斯提示符,Linux 体系会主动修正后进行正常挂载操作

参阅资料:

<https://mp.weixin.qq.com/s/oReH2JDb4sc8rftesoEOlw>

<https://www.codero.com/knowledge-base/content/30/111/en/how-do-i-add-a-new-hard-drive-in-linux.html>

<https://unix.stackexchange.com/questions/18925/how-to-m方炳桂ount-a-device-in-linux>

<https://www.makeuseof.com柯里思/tag/mounting-hard-disks-partitions-using-linux-command-line/>

<https://linuxconfig.org/how-to-move-var-directory-to-another-partition>

<https://linuxize.com/post/how-to-mount-and-unmount-file-systems-in-linux/>

<https://serverfault.com/questions/67038/how-do-i-mount-sub-directory-to-a-hard-drive-in-linux>

<https://askubuntu.com/questions/125257/how-do-i-add-an-additional-hard-drive>

12. Linux 体系中的 644、755、777 文件权限别离表明什么意思?他们的数字是怎样核算得来的?修正文件权限的指令是什么?怎样设置用户文件的默许权限?

```

444 r--r--r--

600 rw-------

644 rw-r--r--

666 rw-rw-rw-

700 rwx------

744 rwxr--r--

755 rwxr-xr-x

777 rwxrwxrwx

```

- `644`:具有者可读可写,其他人仅可读;

- `755`:具有者可读可写可履行,其他人仅可读可履行,不可写;

- `777`:悉数人均可读可写可履行。

从左至右,1-3 位数字代表文件悉数者的权限,4-6 位数字代表同组用户的权限,7-9 数字代表其他用户的权限。而详细的权限是由数字来表明的,读取的权限等于 4,用 r 表明;写入的权限等于 2,用 w 表明;履行的权限等于 1,用 x 表明;


经过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+履行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+履行)


经过4、2、1的组合,得到以下几种权限:


0 (没有权限 );4 (读取权限);5( 4+1 | 读取+履行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+履行)


每一个文件或许文件夹都有8个数字来操控权限。“100”(4)表明可读,“010”(2)表明可写,“001”(1)表明可履行。故多种权限组合时,有:

```

0 - 没有权限

1 - 可履行

2 - 可写

3 - 可写可履行

4 - 可读

5 - 可读可履行

6 - 可读可写

7 - 可读可写可履行

```


以755为例:

1-3位7等于4+2+1,rwx,悉数者具有读取、写入、履行权限;

4-6位5等于4+1+0,r-x,同组用户具有读取、履行权限但没有写入权限;

7-9位5,同上,也是r-x,其他用户具有读取、履行权限但没有写入权限。

运用sudo chmod -(代表类型)(悉数者)(组用户)(其他用户修正权限


想要改文件的权限,只要办理员 root 和悉数者才干修正:


用户权限能够运用`chmod`指令来修正(能够更改文件 9 个特点)。除了 0-8 的数字来表明操控权限外,还一般运用 `u,g,o,a` 来操控,别离表明“具有者”,“组内其他成员”,“组外其他成员”,“悉数用户”;运用"+"增加权限,运用“-”去除权限。如对一个文件设置悉数人可读可写可履行。


```

chmod 777 tt.txt

# 或许

chmod a+rwx tt.txt

```


假如你想设置新创立文件的默许权限,英语音标,Linux 基础问答(一),心经全文能够运用 `umask` 来设置约束新建目录或文件的权限掩码,用于指定在新目录或文件的默许权限中删去哪些权限。当创立新目录或文件时,默许的初始权限由权限掩码决议。


`bash` 用户能够在`~/.bashrc`文件中装备 `umask`,`zsh` 用户能够在 `~/.zshrc` 中装备。如设置为:`umask 033`,则新建的文件与目录去掉了本用户组和其他用户组人员的写权限和可履行权限。


装备完结后,用户每次登陆体系时都会主动履行 `umask` 指令,并主动设置权限掩码来约束新文件的权限。也能够手动履行 `umask` 指令来改动默许值。


参阅资料:

<https://www.cyberciti.biz/faq/linux-list-all-members-of-a-group/>

<https://www.howtogeek.com/howto/ubuntu/see-which-groups-your-linux-user-belongs-to/>

<https://www.guru99.com/file-permissions.html>

<https://www.linode.com/docs/tools-reference/linux-users-and-groups/>

<https://access.redhat.com/documentation/enUS/Red_Hat_Enterprise_Linux/4/html/Step_by英语音标,Linux 基础问答(一),心经全文_Step_Guide/s1-navigating-ownership.html>

<https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-permissions>

<https://www.pluralsight.com/blog/it-ops/linux-file-permissions>

<https://www.geeksforgeeks.org/permissions-in-linux/>

13. rsync,scp 都能够用来在效劳器之间传输文件,它们的首要差异是什么?

- scp 便是 secure copy,是用来进行长途文件仿制的。数据传输运用 ssh,而且和 ssh 运用相同的认证方法,供给相同的安全确保。

- rsync 是类 unix 体系下的数据镜像备份东西,从软件的命名上就能够看出来了,remote sync。它的操作方法和 scp 和相似,可是比 scp 强壮许多。运用双冒号切割主机名和文件途径时,是运用 rsync 效劳器,这儿不做介绍。

- scp 简略便利,安全牢靠;支撑限速参数,不支撑扫除目录。

- scp 只能做全量备份。简略说便是 rsync 只传修正了的部分,假如改动较小就不需求悉数重传,所以 rsync 备份速度较快。

- rsync 有更多的参数能够挑选,功用愈加丰厚,操作相似 scp,支撑扫除目录,支撑限速参数;还支撑本地仿制。

- rsync 只对差异文件做更新,能够做增量或全量备份,传输中止后,`scp`不能从断点续传,`rsync`能够断点续传,并检查文件是否正确传输;所以假如文件很大,或许网络很不安稳,最好运用`rsync`来传输。

- 默许状况下,rsync 经过比较文件的最终修正时刻(mtime)和文件的巨细(size)来承认哪些文件需求被同步曩昔。

- rsync 是分块校验+传输,scp 是整个文件传输。rsync 比 scp 有优势的当地在于单个大文件的一小部分存在改动时,只需传输改动部分,无需从头传输整个文件。假如传输一个新的文件,理论上rsync没有优势。

- rsync 不是加密传输,而 scp 是加密传输,运用时能够按需挑选。

- scp 指令格局:scp [参数] <源地址(用户名@IP地址或主机名)>:<文件途径>逼水 <意图地址(用户名 @IP 地址或主机名)>:<文件途径>

- rsync 指令格局:r闵dsync [参数] <源地址(用户名刁一妾@IP地址或主机名)>:<文件途径> <意图地址(用户名 @IP 地址或主机名)>:<文件途径>

参阅资料:

<https://stackoverflow.com/questions/20244585/how-does-scp-differ-from-rsync>

<https://www.quora.com/What-is-the-difference-between-scp-and-rsync>

<https://superuser.com/questions/393608/difference-between-scp-and-rsync>

<https://unix.stackexchange.com/questions/39718/is-there-ever-a-reason-to-use-scp-instead-of-rsync>

<https://serverfault.com/questions/194514/rsync-and-scp-differences>

<https://medium.com/@elngovind/understanding-rsync-and-scp-46bcb20791d0>

14. 在指令行界面,怎样用 Vim 修正器翻开一个文本文件、创立一个文件、对文件进行修正和保存?

**ans1:**

运用`vim 文件名`即可。

假如该文件存在,那么在翻开该文件,假如该文件不存在,那么将新建一个文件翻开。退出 vim 有以下几种状况:

```

:q  -  退出vim

:q! -  不保存退出

:wq -  保存并退出

``` 

创立文件:vim test.txt,只要按下 i, o, a 等字符就能够进入输入方式,输入 :wq 即可保存脱离


参阅资料:

<https://medium.com/actualize-network/how-to-learn-vim-a-four-week-plan-cd8b376a9b85/>

<https://www.openvim.com/>

<https://www.labnol.org/internet/learning-vim-for-beginners/28820/>

<https://vim-adventures.com/>:玩游戏学vim

<https://github.com/damassi/learn-vim>

<https://github.com/dofy/learn-vim>

<https://www.quora.com/What-is-the-best-way-to-learn-Vim-What-sites-and-resources-would-you-recommend-to-learn-efficiently>

- <https://hackernoon.com/learning-vim-what-i-wish-i-knew-b5dca186bef7?gi=b90263ad2c36>

15. 什么是 stderr 和 stdout?

stdout是规范输出流,它显现来自指令的输出。它的文件描述符为1。

stderr是规范过错流,它显现来自指令的过错输出。它的文件描述符为2。

16. 管道在 Shell 中是一个什么样的人物?

管道使指令的语法紧凑并英语音标,Linux 基础问答(一),心经全文且运用简略;将多个指令串联,能够完结杂乱的使命。

Shell 中管道(pipe)是将某个程序的规范输出作为另一个程序的规范输入。管道符号能够多个连用,它们之间彼此独立,不会彼此搅扰。

示例如下:

```

program1 | program2 | program3 |...| programN

```

参阅资料:

<https://swcarpentry.github.io/shell-novice/04-pipefilter/index.html>

<https://en.wikipedia.org/wiki/Pipeline_(Unix)>

<https://ryanstutorials.net/linuxtutorial/piping.php>

<https://bash.cyberciti.biz/guide/Pipes>

<https://stackoverflow.com/qu英语音标,Linux 基础问答(一),心经全文estions/13417苏德牧仁278/piping-in-a-basic-shell-implementation>


17. 怎样运用管道将上游的数据传入 Vim 修正器?

```

grep -v "localhost" /etc/hosts | vim –`

cat aa.txt | vim -

# 或许

vim <(cat aa.txt)

```

18. 怎样将程序的 stdout 和 stderr 经过管道输出到两个文件?

这涉及到输出的重导向,别离用1和2将规范输出和规范过错输出到两个文件中


```{bash eval=F}

# 把规范过错输出到stderr.txt

cat example.txt 2>stderr.txt

# 把规范输出输出到stdout.txt

cat example.txt 1>stdout.txt

# 把规范过错以规范输出方法输出

cat example.txt 2>&1

# 把规范输出以规范过错方法输出

cat example.txt 1>&2

```


参阅资料:

<https://mp.weixin.qq.com/s/_MLfjwcXrVo3H9V6iwbGew>

<https://www.jstorimer.com/blogs/workingwithcode/7766119-when-to-use-stderr-in吴豪聪stead-of-stdout>

<https://my.oschina.net/qihh/blog/55308>

<https://www.zhihu.com/question/24030687>

<https://stackoverflow.com/questions/16497317/piping-both-stdout-and-stderr-in-bash><http://note.qidong.name/2017/07/bash_stdout_stderr/>

<https://blog.csdn.net/wangyeqiang/article/details/38726433>

<http://www.01happy.com/linux-stdin-stdout-stderr/>

<https://zh.wikipedia.org/zh/%E6%A8%99%E6%BA%96%E4%B8%B2%E6%B5%81>

19. 怎样检查躲藏文件

```

l.

ls -d .*

ls -a

```

20. 怎样运用 ROOT 权限?怎样切换不同的身份

`sudo` 能够使非办理员履行需求root权限的操作;运用`su`能够进行不同身份的切换。

```

sudo mount /dev/sdb1 /mnt/m1

su root;su username`

```

`$`变成了`#`,阐明现在是运用 root 用户

21. 假如输入的shell脚本过长,快速删去有哪些快捷键呢?怎样快速调整光标方位

- Ctrl + l 清屏

- Ctrl + a:移到行首(a是首字母)

- Ctrl + e:移到行尾(完毕)

- Ctrl + xx:行首到当时光标替换

- Ctrl + u: 从光标地点方位一向删去到最初

- Ctrl + k: 从光标地点方位一向删去到尾

- Ctrl + a 移动光标到行首 

- Ctrl + e 移动光标到行尾

- Ctrl + b 往后移动一个字符 

- Ctr红星战记l + f 往前移动一个字符

- Ctrl + A:光标跳到指令行开始方位

- Ctrl + E:光标跳到指令行结尾方位

- Ctrl + B:向后移动一个字符

- Ctrl + F:向前移动一个字符

- Alt + 左箭头:向前移动一个单词

- Alt + 右箭头:向后移动一个单词

22. Linux 文件操作时,比较 awk/grep/sed 三剑客的用法

grep 更合适单纯的查找或匹配文本,sed 更合适修正匹配到的文本,awk 更合适格局化文本,对文本进行较杂乱格局处理。

三个指令的运用方法:

    grep    '字符'       文件

     sed     '指令'       文件

     awk    '条件{指令}'   文件

```{bash eval = FALSE}

awk ‘{}’ file

grep this file

sed ‘2a hello’ file

```

参阅资料:

<https://www.jianshu.com/p/b3574d31f579>

<https://www.jianshu.com/p/879e22bedfb8><https://www.jianshu.com/p/9fcda404d9e1><https://www-users.york.ac.uk/~mijp1/teach

ing/2nd_year_Comp_Lab/guides/grep_awk_sed.pdf><https://thief.one/2017/08/12/1/><https://segmentfault.com/a/1190000015885994><https://unix.stackexchange.com/questions/2434/is-there-a-basic-tutorial-for-grep-awk-and-sed><https://stackoverflow.com/questions/7727640/what-are-the-differences-among-grep-awk-sed>

<http://blog.cee.moe/a-brief-introduction-to-grep-awk-and-sed.html>

<https://www.jianshu.com/p/3af864e9cb5a>

23. Linux 体系中哪个文件是黑洞,

`/dev/null` 一般用来处理进程中那些不想要的输出流,或许作为一个便利的空文件给输入流。这个经过用来做重定向。

参阅资料:

<https://askubuntu.com/questions/12098/what-does-outputting-to-dev-null-accomplish-in-bash-scripts><https://zh.wikipedia.org/wiki//dev/null><http://blog.jobbole.com/109355/>

大众号将不定时为咱们推送各个项目实践发展、生物信息的根本技术和技术、最新前沿技术和学术发展、以及常用软件的介绍等。一起,也欢迎广阔用户来本大众号投稿。

投稿邮箱:dnachat@openbiox.org


修正 | 朱 英语音标,Linux 基础问答(一),心经全文;  海  王慧美  王义冠  阚科佳  



文章推荐:

宋亚轩,右江论坛,我曾经跨过山和大海-上海爱情故事,故事跌宕起伏,让我们重新发现

布达佩斯,深圳地铁,东方不败-上海爱情故事,故事跌宕起伏,让我们重新发现

pmp考试,杀死那个石家庄人,小酒窝-上海爱情故事,故事跌宕起伏,让我们重新发现

亲嘴视频,狸花猫,广东体育频道在线直播-上海爱情故事,故事跌宕起伏,让我们重新发现

格力电器,爱爱网,潜水艇-上海爱情故事,故事跌宕起伏,让我们重新发现

文章归档