文章目录
1 Linux概述
Linux具备现代一切功能完整的UNIX系统所具备的全部特征,其中包括真正的多任务、虚拟内存、共享库、需求装载、共享的写时复制程序执行、优秀的内存管理以及TCP/IP
网络支持等。
Linux的基本思想:
- 一切都是文件:系统中所有都为文件,包括命令、硬件和软件设备、操作系统、进程等等。
- 每个软件都有确定的用途。
Linux特征:
- 多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是Linux可以试多个程序同时并独立地运行。 - 完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并且可以任意修改其源代码。
内核版本: 主版本号.次版本号.修订次数
次版本号奇数—开发版本;偶数—稳定版本
2 Linux目录结构
FHS(Filesystem Hierarchy Standard)标准:
- /boot :启动目录,内核存放地
- /etc :配置文件存放地
- /tmp : 程序产生的临时文件
- /home : 用户的目录,新增用户账号时,用户的家目录存放地
- /lib : 库文件,程序在执行过程中,需要调用一下额外的参数时需要函数库的协助
- /sbin : 系统管理员的命令和工具
- /usr : 应用程序和文件的安装地
- /mnt : 挂接其他文件系统
- /root :root账户的home目录
- /dev:存放Linux系统下的设备文件
3 vi 编辑器
vi
功能:生成新文件或编辑、查看文件
格式: vi file_name
说明:上面的命令直接进入vi的命令模式
从命令模式进入编辑模式:
1)i:插入文本
2)a:追加文本
使用ESC键可以从编辑模式进入命令模式
可执行操作:
1):w 保存文件
2):wq 保存并退出
3):wq! 保存并强制退出
4):q 退出
5):q! 强制退出
6)dd 删除一行文字
7)x 删除一个字符
8):n 光标移至文本第n行
9)$ 光标移至文本的行尾
10)G 光标移至文本的末尾
11)/ 查找某个字符串 (如:/sdb)
4 Linux管理文件和目录的命令
- pwd(print work directory):打印用户当前所处的路径
在文本模式下,使用命令: [root@localhost ~] #pwd
- cd(change directory):改变用户所在目录
格式:cd <目录名>
[root@localhost ~] #cd .. 返回到当前目录的上一级目录
[root@localhost ~] #cd 返回当前用户的主目录
[root@localhost ~] #cd /home 用路径切换到home目录
- ls(list directory):列出指定目录下的内容
格式:ls [参数] [目录或文件]
-a 列举目录中的全部文件,包括隐藏文件
-l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
-r 逆向,从后向前地列举目录中内容
-R 递归,该选项递归地列举当前目录下所有子目录的内容
-s 大小size:数据块
ls -|1.txt 列举文件1.txt的所有信息
- cat:显示文本内容
语法:cat 文本文件名字 - touch:创建文本(不能插入内容)
语法:touch 文本文件名字,创建多个文件时,各个文件之间名字空格分开 - grep:在一堆文件中查找一个特定字符串,查找区分大小写
例如:grep money test.txt
以上命令在test.txt中查找money这个字符串。 - cp:拷贝文件或者复制文件(copy)
格式:cp [源文件] [目标文件]
[root@localhost ~] #ls
[root@localhost ~] #cp hello.txt file1.txt
//把文件hello拷贝一份,命名为file1
cp -i 互动:如果文件将覆盖目标中的文件,会提示确认
cp -r 递归:这个选项会复制整个目录、子目录以及其他
cp -v 详细:显示文件的复制进度
- mv:可以对文件或者目录进行移动(剪切)
格式: mv [源对象] [目的对象]
-i 互动:如果选择的文件会覆盖目标中的文件,会提示确认
-f 强制:不提示地移动文件
-v 详细:显示文件的移动进度
- mkdir(make directory):创建目录
格式:mkdir [目录1] [目录2] …
[root@localhost ~] #mkdir dir2 创建一个目录dir2
[root@localhost ~] #ls 借助ls命令查看dir是否创建成功
mkdir -p aa/bb 目录里面只能嵌套一个目录
- rmdir(remove directory):删除空目录
格式:rmdir [参数] [目录名1] [目录名2] …
[root@localhost ~] #rmdir dir2 删除一个空目录
[root@localhost ~] #rmdir bb cc dd 删除多个空目录
- rm(remove):删除文件
格式:rm [参数] [文件]
-i 互动:提示确认删除
-f 强制:代替互动模式,不提示确认删除
-v 详细:显示文件的删除速度
-r 递归:将删除某个目录以及其中所有的文件和子目录
5 线上查询命令
- man
功能:用来查询和解释一个命令的使用方法和这个命令的注意事项
格式:man 命令名称
如要查询ls命令的 说明书页,输入命令:
man ls
退出按下 q
- locate
功能:定位文件和目录
格式:locate 文件或目录名字
想要搜索带有test的文件,输入命令:
locate test
locate命令使用数据库来定位带有test这个词的文件或目录
- whatis
功能:用来查询某个命令的含义
要查询mv命令的含义,输入命令:
whatis mv
6 文件备份和压缩命令
- bzip2
功能:压缩文件
格式:bzip2 filename
文件被压缩并保存为filename.bz2 - bunzip2
功能:解压文件
格式:bunzip2 filename.bz2
此时filename.bzip2会被删除,而以filename替代
bzip2 file1 file2 file3 /home/aa
该命令把file1、file2、file3以及/home/aa目录中的内容压缩起来
- gzip:压缩文件,压缩后的文件保存为filename.gz
- gunzip:解压文件
-r 递归处理,将指定目录下的所有文件及子目录一并处理
- tar
功能:将文件或者目录进行打包、或者解压缩
格式:tar [参数] [打包后的文件名] [需要打包的文件或目录]
其中参数包含:
-c 创建压缩文件
-x 展开归档文件
-t 显示包括在tar文件中的文件列表i
-z 压缩/解压文件(gz格式)
-v 写入或读取时,显示所有的文件
-f 指明要展开的归档文件名
-j 压缩或解压文件(bz2格式)
//将home下目录test打包成tar包
[root@localhost ~]#tar cvf test.tar /home/test
//将test.tar解压
[root@localhost ~]#tar xvf test.tar
7 文件阅读命令
- head
功能:用来查看文件开头部分
格式:head 文件名
默认设置,他只查看文件的前10行,但可以通过指定一个数字选项来改变要显示的行数,命令如下:
head -20 文件名 - tail
功能:查看文件结尾的10行
格式:tail 文件名
这有助于查看日志文件的最后10行来阅读重要的系统信息 - more
功能:按页来查看文件的内容
more使用空格键和b键来前后移动
more [选项] [filenames]
more 1.txt
-num 一次显示的行数
-f 计算行数时,以实际上的行数,而非自动换行过后的行数
+num 从num行开始显示
//从文本文件中搜索关键字
more +/关键字 文件名
8 定位、查找文件的命令
- which
说明:依序从path环境变量所列的目录中找出命令的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录。
语法:which 命令 - whereis
whereis指令查找符合条件的文件,whereis命令只能定位一些文件在文件系统中的位置。whereis命令一般用于程序名的搜索。
语法:[root@redhat ~]# whereis [-bm] 程序名
参数说明:
-b 只招二进制文件
-m man说明文件,查出说明文档路径
9 修改权限和添加删除用户
文件操作权限是10位。如drwxr-xr-x
第1位:文件类型 ,d:目录,- :文档
第2-4位:文件创建者权限(u)
第5-7位:同组成员权限(g)
第8-10位:其他人权限(o)
r:可读,w:可写,x:可执行
- chmod
chmod命令用来改变许可权限。
读取、写入和执行是许可权限中的三个主要设置。
标准用法:
chmod 文件使用者(u,g,o)增减(+,-,=)权限名称(r,w,x) 文件
u:拥有文件的用户
g:所有者所在群组
o:其他人
a:代表所有
//删除某一文件的所有权限,输入命令:
chmod a-rwx test.txt
//为文件所有者添加权限,输入命令:
chmod u+rwx test
还可以用数字表示权限:
4——读取,2——写入,1——执行
下面两个命令等价
chmod 751 filename
chmod u=rwx,g=rx,o=x filename
- useradd:添加用户
格式:useradd [用户名] - userdel:删除用户
格式:userdel [参数] [用户名]
参数:-r 彻底删除用户以及与用户相关文件
10 用户设置命令
- chgrp:用于变更文件或目录的所属群组
- chown:将文件地拥有者改为指定的用户或组
这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以把自己的 文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。 - su:用来修改用户
su 用户:切换用户,但是环境变量保持现在的用户的环境变量
su -| 用户:切换用户,并载入该用户的环境变量
假设当前用户root,要切换到user02,输入命令:
su -| user02
对该用户设置密码,输入命令:
passwd user02
11 退出、重启、关机
- exit:退出
文本模式下使用快捷键Ctrl+D - 重新启动
在文本模式下使用命令:
[root@localhost ~]#reboot
或
[root@localhost ~]#shutdown -r <time>
如:
shutdown -r now 立刻重启
shutdown -r 11:30 等到11:30进行重启
- 关机
在文本模式下,使用命令:
[root@localhost ~]#halt
或
[root@localhost ~]#shutdown -h <time>
如:
shutdown -h now 立刻关机
shutdown -h 11:30 等到11:30进行关机
shutdown -t 2 在2min内关机
12 有关系统查看命令
- ps :查看在计算机系统中,程序执行情况(静态)
可以用来找出所有process id 和名称;也可以用来列出所有程序占用内存情况
u 列出使用者的名称和使用时间
x 列出所有程序
如:
ps u 查看使用者的信息
ps x 列出所有程序分布情况(查询出所有的进程号pid)
- top:动态查看程序进程
- kill:用于终止一个正在执行中的进程
语法:kill 进程号
- date:用来设定和修改现在的日期和时间
例如:
date -u 使用格林尼治时间
date -r 1.txt 查看最后一次修改文件的时间
date -s 18:00 设置当前时间
- cal:日历
若要显示一整年的年历,可以在cal命令后加年份
例如:
cal 2017 显示2017年的年历
cal 10 2017 显示2017年10月的月历
13 磁盘空间命令
- df:检查硬盘的使用量
说明:-a 可以列出全部文件系统和各分区的磁盘使用情况 - du:显示文件目录大小
语法: du 参数 文件名字
说明: -ab 列出所有文件和目录所占的空间
14 网络操作命令
- ifconfig :显示网络设备状态
- ping:用于检测主机
执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会得到回应,因而得知主机运行正常 - netstat:知道整个Linux系统的网络情况或显示网络状态
# netstat -a 显示详细的网络状况
# netstat -apu 显示UDP端口号的使用情况
15 其他命令
- clear:清屏
- echo:在显示屏上回显文字或者用来查看环境变量的值
[root@localhost ~]#echo “hello” 显示hello
[root@localhost ~]#echo $PATH 查看PATH的取值,是否有/sbin目录
- uptime: 系统运行时间
- wc:用于计算字数
语法:wc 参数 文件名
在默认情况下,wc将计算指定文件的行数、字数、以及字节数
参数:
-c 只显示Bytes数
-l 只显示行数
-w 只显示字数