本文主要是介绍Linux系统概述及Linux内置命令集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Hadoop大数据项目实践——The 3th day
- Linux系统概述
- Linux文件系统
- Linux内置命令集
Linux系统概述
- linux是一套免费使用和自由传播的类Unix操作系统,支持多用户、多任务、多线程、多CPU的开源操作系统。
- Linux系统由四部分组成,各组件在Linux系统中既相对独立又相互联系,每个组件实现相对独立的功能,如果将各组件分开,就不是一个完整的Linux系统。各组件协调工作才能构成一个完整的Linux系统:
- Linux内核
- GNU工具组件
- 图形化桌面
- 应用软件
- Linux内核
管理和分配计算机资源(CPU,内存和其他硬件设备)的核心软件,也包括命令行解释器,图形桌面,文件操作工具和文本编辑器等等其他工具软件。- 进程调度;
- 内存管理:采用了虚拟内存管理机制,使用虚拟内存有两方面的好处:
一是,进程和进程之间、进程和内核之间要彼此隔离,不能共享内存,一个进程不能读取或修改其他进程或内核在内存中的内容。
二是,只将进程的一部分放在内存中,这样可以减少进程对内存的需求量,而且还可以在内存中加载更多的进程,使执行高效的CPU在任一时刻都有一个进程在执行,可以更充分的使用CPU资源。 - 提供了文件系统:内核在磁盘之上提供了文件系统,允许用户创建、更新和删除文件的操作。
- 创建和终止进程:内核可以将进程加载到内存,为其分配允许所需要的资源(CPU、内存和文件的访问等等)。把运行中的程序称作进程,一旦程序执行结束,内核还要释放进程所占用的资源为其他进程使用。
- 对设备的访问:计算机的外部设备,如键盘、鼠标和光驱等等,内核可以实现计算机与外部设备的通信,包括输入和输出。
- 提供应用程序编程接口:用户可以通过程序请求内核执行各种任务。
- GNU工具为Linux提供一些工具软件包,用来处理文件、操作文本、管理进程。
Shell:是用户与Linux系统的交互工具,为用户提供了启动程序,管理文件系统上的文件和各种运行在系统上的进程。也可以通过shell脚本,一次执行一组命令,完成一个特定的任务。 - 早期的Linux系统只有命令行界面,允许管理员运行程序、管理程序的执行和管理系统中的文件。
Linux文件系统
- / 虚拟目录的根目录,所有的目录都在根目录下
- /bin 存放可执行命令的二进制文件,如:cd命令、cat命令,这些命令都是二进制命令。在/usr/bin目录目录下也存放着一些二进制命令。
- /boot 内核和加载内核所需的文件。系统启动目录,存放系统启动文件,存放的是启动Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev dev是Device(设备)的缩写。该目录下存放的是Linux 的外部设备,在Linux 中访问设备的方式和访问文件的方式是相同的。
- /etc 系统启动文件和配置文件的目录。这个目录用来存放所有的系统管理所需要的配置文件和子目录,如/etc/profile、/etc/passwd等文件。
- /home 在Linux 中,每个用户都有一个自己的工作目录,用来存放一些自己的文件,并且在这个目录中用户具有所有的权限。一般该目录名是以用户的账号命名的。例如用户yarn 的主目录就是/home/yarn,因为所有用户都有自己的主目录。
- /lib 库文件目录,用于存放系统和应用程序的库文件,这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows 里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
- /media 可移动设备的挂载点。Linux 系统会自动识别一些设备,例如U 盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
- /mnt 挂载目录,用于存放设备挂载点,用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
- /opt 用于安装三方软件,这是给主机额外安装软件所摆放的目录。比如您安装一个ORACLE 数据库则就可以放到这个目录下。默认是空的。
- /root root管理员的主工作目录。
- /sbin 引导、修复和恢复系统的命令目录。存放可执行命令的二进制文件,管理员级别的命令工具。
- /tmp 临时目录,用于存放临时创建的文件。通常在启动时,清理/tmp 目录下的空间,所以你不能在/tmp 存储需要长期保留的内容。
- /usr 用户安装软件的目录,用户相关的程序和只读数据驻留的位置,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows 下的program files 目录。在 /usr 中存在整个目录层次结构。例如,/usr/bin 目录包含二进制文件和应用程序,而 /usr/share/doc 包含与这些应用程序相关的文档。
- /var 用于存放经常变化的文件,如日志文件。
- /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件碎片,用于系统恢复。
- /proc 所有正在运行进程的映像目录。这个目录是一个虚拟的目录,它是系统内存的映射,这个目录的内容不在硬盘上而是在内存里。
- /selinux 这个目录是Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux 相关的文件的。
- /sys Linux文件系统信息。
- /usr/bin 系统用户使用的应用程序。
- /usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src 内核源代码默认的放置目录。
Linux内置命令集
-
cd 文件目录切换
cd 回到当前家目录;cd - 回到上一次所在目录;cd … 回到上一级目录 -
ls 显示文件和目录信息
参数:
-a 显示所有内容
-l 列表形式显示
-R 递归显示子目录下的文件
-i 显示文件索引值
ll是ls -l的简写
文件或目录均有自己的所属组以及权限
drwxr-xr-x. 从前往后分别用数字0123456789表示
0位置 -为文件 d为目录
123位置 所属用户的权限 -为无权限 r读 x执行 w写
456位置 所属组的权限
789位置 其他用户的权限 -
过滤显示:
ls -l hell?
ls -l hell*
?号占位符代表一个字符,*号占位符代表零个到多个字符 -
touch newfile
创建一个空文件,名为newfile -
cp 复制文件
cp 源文件 目标文件
cp test1 test2 将当前目录下的test1复制到当前目录,并重命名为test2
参数–r:递归复制(将一个目录包括该目录下的文件全部拷贝到其他目录时使用)
cp -r dir1 dir2 将当前目录下的dir1目录递归复制一份在本目录下,并重命名为dir2 -
mv可以做文件重命名命令
mv source dest 将原名为source的文件或目录重命名为dest -
rm 删除文件命令
rm (-参数) 文件或目录名
参数:
-r 递归删除
-f 忽略提时信息
-i 提示确认删除信息
慎重使用rm -rf /*的命令,这样会删除根目录下的所有文件,尤其是使用root权限时,使用该命令后,差不多就该跑路了
rm -rf dir3 递归删除目录dir3,且忽略提示信息 -
目录管理
mkdir命令用于创建目录,rmdir命令用于删除空的目录,如果目录非空,就只能使用rm命令才可以删除。
同时创建多级目录,需要参数-p
mkdir dir4
rmdir dir4
mkdir -p ~/test2/dir5/dir6/dir7 创建多级目录
rm -rf ~/test2 递归删除上一步创建的多级目录,由于test2目录下还有目录,即test2目录不空,故不可使用rmdir命令删除 -
查看文件内容
cat命令可以显示文本文件内容到控制台;
more命令会显示文件的内容到控制台,但是与cat命令的区别是按页显示,当显示一屏
后会停下来,等用户下一步操作;
less命令是more命令的升级版本,使用方式上和more命令相似,一次只显示一屏文件内容到控制台并等待用户的下一步操作,less命令支持more命令的所有参数并且可以通过上下键翻页。另外,less命令不同于cat命令和more命令的重要特点是不读取整个文件到内存,如果文件很大,less命令的性能要优于cat命令和more命令;
more与less命令下的按键:按键 说明 z 显示文本的下一屏 空格键 显示文本的下一屏 b 显示文本的上一屏 回车键 显示下一行 q 退出 v 启动文本编辑器 = 显示当前文本的行号 tail命令只显示文件的最后部分内容,默认情况下是最后十行,可以通过-n参数指定显示的行数;
tail -n 20 logs 读取logs文件的后20行内容
head命令和tail命令相似,只是显示的文件的开头内容,默认情况下显示十行,可以通过-n参数指定显示的行数。
这篇关于Linux系统概述及Linux内置命令集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!