什么是Linux
和Windows操作系统软件一样,Linux也是一个操作系统软件。但是和Windows不同的是,Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统软件(Unix系统是Linux系统的前身,具备很多优秀特性)。其在设计之初,就是基于Intel x86系列CPU架构的计算机的。它是一个基于POSIX的多用户、多任务并且支持多线程和多CPU的操作系统。
Linux是由世界各地成千上万的程序员设计和开发实现的。当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类Unix操作系统兼容产品。在过去的20年里,Linux系统主要应用于服务器端、嵌入式开发和个人PC桌面三大领域,其中服务器端领域是重中之重。
大型、超大型互联网企业(百度、Sina、淘宝等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统几乎都是Linux系统。
Linux操作系统之所以如此流行,是因为它具有如下一下特点:
- 开发源代码的程序,可自由修改。
- Unix系统兼容,具备Unix几乎所有优秀特性。
- 可自由传播,无任何商业化版权制约。
- 适合Intel等x86 CPU系列架构的计算机。
目录介绍
1 | / 根目录 |
基础指令
1 | ls: 列出目录 |
示例1
2
3
4[root@localhost]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory <== 没办法直接创建此目录啊!
[root@localhost]# mkdir -p test1/test2/test3/test4
1 | rmdir:删除一个空的目录 |
一些常用参数
1 | -a:相当于 -pdr的意思,至于pdr请参考下列说明;(常用) |
选项与参数:
-f :就是 force的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
- mv (移动文件与目录,或修改名称)
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
文件内容查看
1 | cat 由第一行开始显示文件内容 |
时间相关的指令
1 | date 显示 |
Cal指令
命令格式 : cal[参数][月份][年份]
find指令:(非常重要) -name
语法:find pathname -option
功能:用于在文件树中查找文件,并作出相应的处理
grep 指令
语法:grep[选项]搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
- -i:忽略大小写的不同,所以大小写视为相同
- -n:顺便输出行号
- -v:反向选择,亦即显示出没有’搜寻字符串’内容的那一行
zip/unzip指令
语法:zip压缩文件.zip目录或文件
功能:将目录或文件压缩成zip格式
常用选项:
- -r递归处理,将指令目录下的所有文件和子目录一并处理
举例:1
2将test目录压缩: zip test.zip test/*
解压到tmp目录:unzip test.zip -d /tmp
tar指令
tar [-cxtzjvf]文件与目录…参数:
- -c:建立一个压缩文件的参数指令(create);
- -x:解压一个压缩文件的参数指令;
- -t:查看tarfile里面的文件;
- -z:是否同时具有gzip的属性,是否需要用gzip压缩
- -j:是否同时具有bzip2的属性,是否需要用bzip2压缩
- -v:压缩过程中显示文件
- -f:使用档名,f用在最后
- -C:解压到指定目录
重要的几个热键
[ctrl]-c:让当前程序停止
[ctrl]-d:通常代表着:键盘输入结束的意思
[Tab]:按键具有命令补全和档案补齐功能
关机
shutdown [选项]
常见选项:
- -h:将系统服务停止后,立即关机
- -r:在将系统服务停止之后就重新启动
- -t sec:-t后面加秒数,意思是过几秒关机的意思
其他命令
du命令:du [选项] 文件
功能该命令是显示指定文件以及下的所有文件占用系统数据块的情况,如果没有文件,默认为是当前工作目录
-a 显示所有文件对系统数据块的使用情况
-b 显示数据块大小时以字节为基本单位
-c 除了显示文件对系统数据块的使用情况外还显示出文件的总和
-s 只显示文件数据块总大小,不显示文件名
-x 只显示当前目录,但不统计子目录
df命令:du [选项] 文件名
功能该命令与du命令相似,只不过是df计算的是当前文件所以数据快的使用情况(包括前不久删除的文件),而du只是计算当前存在的所有文件的数据快的使用情况
-a 递归显示各文件及其子目录的数据块利用
-h 方便阅读时显示
-H 和-h一样,只不过1k = 1000;而不是1024
-i 显示inode信息
-k 区块为1024字节
-T 文件系统类型
top命令:
功能:相当于windows下的资源管理器,可以查看当前CPU的使用情况,各进程的状况
- -b 批处理
- -I 忽略过失
-c 显示完整的治命令
-s 保密模式
free命令
功能:显示所有内存利用率。包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统使用的缓冲区等。
-b 以bype为单位显示
-k 以KB为单位显示
-m 以MB为单位显示
-o 不显示缓冲区
-t 显示内存总和列
pstack命令
功能:进程跟踪
su命令
功能:切换用户(由root用户向普通用户切换时不需要密码,由普通用户向root用户切换时需要密码)
password命令用来修改用户命令,但需要注意,root用户可以修改任何用户的密码,但普通用户只能修改自己的密码
useradd
useradd 选项 用户名
添加新的用户账号使用useradd命令
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
sudo命令
sudo命令以系统管理者的身份执行指令,也就是说,经由sudo所执行的指令就好像是root亲自执行。
使用权限:在/ etc / sudoers中有出现的使用者。
- -V显示版本编号
- -h会显示版本编号及指令的使用方式说明
- -l显示出自己(执行sudo的使用者)的权限
- -v因为sudo在第一次执行时或是在N分钟内没有执行(N预设为五)会问密码,这个参数是重新做一次确认,如果超过N分钟,也会问密码
- -k将会强迫使用者在下一次执行sudo时问密码(不论有没有超过N分钟)
- -b将要执行的指令放在背景执行
- -p prompt可以更改问密码的提示语,其中%u会代换为使用者的帐号名称,%h会显示主机名称
- -u username / #uid不加此参数,代表要以root的身份执行指令,而加了此参数,可以以username的身份执行指令(#uid为该用户名的使用者号码)
- -s执行环境变数中的SHELL所指定的shell,或是/ etc / passwd里所指定的shell
- -H将环境变数中的HOME(家目录)指定为要变更身份的使用者家目录(如不加-u参数就是系统管理者root)
- command要以系统管理者身份(或以-u更改为其他人)执行的指令