Linux操作系统的特点
- 免费开源。Linux是一款完全免费的操作系统,任何人都可以从网络上下载到它的源代码,并可以根据自己的需求进行定制化的开发,而且没有版权限制。
- 模块化程度高。Linux的内核设计分成进程管理、内存管理、进程间通信、虚拟文件系统、网络5部分,其采用的模块机制使得用户可以根据实际需要,在内核中插入或移走模块,这使得内核可以被高度的剪裁定制,以方便在不同的场景下使用。
- Linux系统广泛的硬件支持。得益于其免费开源的特点,有大批程序员不断地向Linux社区提供代码,使得Linux有着异常丰富的设备驱动资源,对主流硬件的支持极好,而且几乎能运行在所有流行的处理器上。
- 安全稳定。Linux采取了很多安全技术措施,包括读写权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络环境中的用户提供了安全保障。实际上有很多运行Linux的服务器可以持续运行长达数年而无须重启,依然可以性能良好地提供服务,其安全稳定性已经在各个领域得到了广泛的证实。
- 多用户,多任务。多用户是指系统资源可以同时被不同的用户使用,每个用户对自己的资源有特定的权限,互不影响。多任务是现代化计算机的主要特点,指的是计算机能同时运行多个程序,且程序之间彼此独立,Linux内核负责调度每个进程,使之平等地访问处理器。由于CPU处理速度极快,从用户的角度来看所有的进程好像在并行运行。
- 良好的可移植性。Linux中95%以上的代码都是用C语言编写的,由于C语言是一种机器无关的高级语言,是可移植的,因此Linux系统也是可移植的。
输入 ls / 查看结构,解释如下
系统启动必须:
- /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
- /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
- /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
- /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中
指令集合:
- /bin:存放着最常用的程序和指令
- /sbin:只有系统管理员能使用的程序和指令。
外部文件管理:
- /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
- /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
- /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
临时文件:
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
- /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
- /tmp:这个目录是用来存放一些临时文件的。
账户:
- /root:系统管理员的用户主目录。
- /home:用户的主目录,以用户的账号命名的。
- /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /usr/bin:系统用户使用的应用程序与指令。
- /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src:内核源代码默认的放置目录。
运行过程中要用:
- /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
- /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
扩展用的:
- /opt:默认是空的,我们安装额外软件可以放在这个里面。
- /srv:存放服务启动后需要提取的数据(不用服务器就是空)
常用快捷键
[tab]键
它将节省你 Linux 命令行中的大量时间。只需要输入一个命令,文件名,目录名甚至是命令选项的开头,并敲击 tab 键。它将自动完成你输入的内容,或为你显示全部可能的结果。如果你只记一个快捷键,这将是必选的一个。
[ctrl+c]键
它将立刻终止运行的程序。如果你想要停止使用一个正在后台运行的程序,只需按下这对组合键。
[Ctrl + Z]键
该快捷键将正在运行的程序送到后台。通常,你可以在使用&选项运行程序前之完成该操作, 但是如果你忘记使用选项运行程序,就使用这对组合键。
[Ctrl + D]键
该快捷键将移动光标到所在行首。假设你在终端输入了一个很长的命令或路径,并且你想要回到它的开头, 使用方向键移动光标将花费大量时间。注意你无法使用鼠标移动光标到行首。这是 Ctrl+A 节省时间的地方。
[Ctrl + E]键
这对快捷键与 Ctrl+A 相反,Ctrl+A 送光标到行首,反之 Ctrl+E 移动光标到行尾。
[ Ctrl + U]键
使用 Linux 终端中的 Ctrl+U 快捷键,该快捷键会擦除从当前光标位置到行首的全部内容。
[ Ctrl + K]键
这对和 Ctrl+U 快捷键有点像。唯一的不同在于不是行首,它擦除的是从当前光标位置到行尾的全部内容。
[ Ctrl + W]键
使用 Ctrl+W 快捷键,可以擦除光标位置前的单词。如果光标在一个单词本身上,它将擦除从光标位置到词首的全部字母。最好的方法是用它移动光标到要删除单词后的一个空格上, 然后使用 Ctrl+W 键盘快捷键。
[ Ctrl + Y]键
这将粘贴使用 Ctrl+W,Ctrl+U 和 Ctrl+K 快捷键擦除的文本。如果你删除了错误的文本或需要在某处使用已擦除的文本,这将派上用场。
[ Ctrl + P]键
可以使用该快捷键来查看上一个命令。你可以反复按该键来返回到历史命令。在很多终端里,使用 PgUp 键来实现相同的功能。
[Ctrl + N]
可以结合 Ctrl+P 使用该快捷键。Ctrl+N 显示下一个命令。如果使用 Ctrl+P 查看上一条命令,可以使用 Ctrl+N 来回导航。许多终端都把此快捷键映射到 PgDn 键。
[Ctrl + R]键
可以使用该快捷键来搜索历史命令。
[Ctrl+左右键]
在单词之间跳转
[Alt – d]键
由光标位置开始,往右删除单词。往行尾删
常用系统命令
文件管理
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
语法格式:
cat [-nbs] [–help] [–version] fileName
参数说明:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
more,类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)
语法格式:
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames…]
参数说明:
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数
rm命令用于删除一个文件或者目录。
语法规则:
rm [options] name…
参数说明:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
- 磁盘管理
- cd:命令用于切换当前工作目录。其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, … 则表示目前目录位置的上一层目录。
语法规则:
cd [dirName]
- mkdir命令用于创建目录。
语法规则:
mkdir [-p] dirName
- pwd命令用于显示工作目录。执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。
语法规则:
pwd [–help][–version]
- redir命令删除空的目录。
语法规则:
rmdir [-p] dirName
- ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
语法规则:
ls [-alrtAFR] [name…]
文件操作
- tail查看文件:tail [param] [filename]:查看文件情况:l命令,可以用于查看文件情况,罗列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息。可以理解为 ll 和 ls -ll 的功能是相同的, ll 是ls -ll的别名
- 文件权限设置:Linux的文件基本权限有9个,分别是owenr、group、others三种身份各自有自己的r、w和x,比如“rwxrwxrwx”,就表示owener具有r(read 读)、w(write 写)、x(execute 访问)权限,同样group和others同样具有r、w、x权限,可以用xftp查看文件权限。要给文件file赋权的话,就可以使用Linux命令:chmod 777 file
- 文件上传下载:在不使用xftp等linux工具的情况,可以通过linux命令,sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。
- 下载文件:sz filename
- 上传文件:rz
- 文件压缩与解压:linux解压zip压缩文件可以用unzip命令,如果没安装,可以先安装。yum install -y unzip zip
- 查看文件大小:查看opt目录下面所有文件大小:du -sh /opt
- 查看所有文件大小:du -sh *