1、Linux与Windows的区别:
(1)Linux严格区分大小写;
(2)Linux的所有内容都以文件形式保存,包括硬件、用户等;
(3)Linux 本身不靠扩展名区分文件类型;(但是有 “约定熟成” 的扩展名)
(4)Windows下的程序 不能直接 在Linux中安装和运行;
(5)字符界面 占用的系统资源少;
(6)字符界面减少了出错、被攻击的可能性,使操作系统更加稳定;
2、常用目录作用:
根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是来保存系统命令 的;
boot:保存用户的启动数据;
etc :系统的配置文件;
home:普通用户的目录;
root:超级用户目录;
lib:Linux系统的函数库文件;
media、misc、mnt:外接存储设备的盘符;(空目录)
proc和sys目录不能直接操作,这两个目录保存到是内存的挂载点;(内存的盘符)
tmp:临时目录;
usr:系统软件资源目录;
var:系统相关文档内容;
3、软连接:——ln -s 【原文件】 【链接文件】
1、类似Windows快捷方式;
2、软连接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和节点号,并没有实际的文件数据;
3、软连接的文件权限都为:rwxrwxrwx;
4、修改任意文件,另一个都改变;
5、删除原文件,软连接不能使用;
4、文件搜索命令 :locate 文件名 ——/var/lib/mlocate:后台数据库(搜索速度快),该数据库默认不是实时更新,也就是说新建的文件不会在这里出现,这就需要手动强制执行更新:updatedb。虽然locate的搜索速度快,但是它只能按照文件名搜索。
updatedb.conf配置文件:
PRUNE_BIND_MOUNTS="yes" //开启搜索限制
# PRUNENAMES=".git .bzr .hg .svn" //搜索时,不搜索的文件类型
PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs" //搜索时,不搜索的路径
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs" //搜索时,不搜索的文件系统
5、命令搜索命令:whereis、which——搜索命令的命令
whereis 命令名——搜索命令 所在路径及所在帮助文档 的位置;
6、搜索文件:find命令:——find [搜索范围] [搜索条件 ] ——非常耗费系统资源(Ctrl+c停止搜索)
(1)Linux中的通配符:
* —— 匹配任意内容 ;;
?——匹配任意一个字符;;
[ ] ——匹配任意一个中括号内的字符;;
例如:find / -name install.org
find / -name "install.org*" (注意双引号括起来)
find / -name "ab[cd]" ——搜索abc或者abd
find / -name "*[cd]" ——搜索以c或者d结尾的文件
(2)find /root -iname install.log ——不区分大小写;
(3)find /root -user root ——按照所有者搜索;
(4)find /root -nouser ——查找没有所有者的文件;
(5)find /var/log -mtime +10 ——查找10天前修改的文件;
atime:文件访问时间;
ctime:改变文件属性的时间;
mtime:修改文件内容的时间 ;
-10:10天内修改文件 10:10天当天修改的文件; +10:10天前修改的文件;
(6)find . -size 25k ——查找文件大小是25K的文件;
(-25k:<25,,,,,,25k:=25k,,,,,,,,,+25k:>25k)(注意大小写:k,M)
find /home -size +20M -a -size -50M ——在home文件夹下找大于20M小于50M的文件; (-o是表示或者的关系)
find /home -size +20M -a -size -50M -exec ls -lh {} \;——在home文件夹下找大于20M小于50M的文件; 并显示详细信息; —— -exec *** {} \; ,,这是标准格式:将第一条命令的搜索结果交由第二条命令执行。(注意:{}和\之间有空格,\和;之间没空格!)
(7)find . -inum 262422 ——查找i节点是262422的文件
7、字符串搜索命令:grep [选项] “字符串” 文件名
选项:-i:忽略大小写,,,,,-v:排除指定字符串,,,,,
注意:find命令:在系统当中搜索符合条件的文件名;
grep命令:在文件当中搜索符合条件的字符串;
8、帮助命令:man 命令名
比如再输入 /-d ,回车,就可以直接跳转到包含-d的选项上。
(1)man的级别:
1:查看命令的帮助;
2:查看可被内核调用的函数的帮助;
3:查看函数和函数库的帮助;
4:查看特殊文件的帮助(主要是/dev目录下的文件);
5:查看配置文件的帮助;
6:查看游戏的帮助;
7:查看其它杂项的帮助
8:查看系统管理员可用命令的帮助;
9:查看和内核相关文件的帮助;
(2)man -f 命令名: 查看命令拥有哪些级别 ====》 whatis 命令名
(3)man -k 命令名:查看和命令相关的所有帮助 ====》 apropos 命令名
(4)命令名 --help:获取命令选项的帮助;
(5)help shell命令名:—— 专门获取内部(shell)命令的帮助,比如:help cd
(6)info 命令名:——详细命令帮助
-回车:进入子帮助页面(带*号标记)
-u:进入上层页面;
-n/p:进入下/上一个帮助小节
-q:退出
9、压缩、解压缩命令:
(1).zip格式压缩
——zip 压缩文件名 原文件 :压缩文件
——zip -r 压缩文件名 源目录 :压缩目录
——解压缩:unzip
(2).gz格式压缩
——gzip 源文件:压缩文件;(源文件消失)
——gzip -c 源文件 > 压缩文件名:压缩文件 源文件保留
——gzip -r 源目录:压缩目录下所有文件,但是不压缩目录
——gzip -d 压缩文件:解压缩文件
——gunzip 压缩文件:解压缩文件
(3).bz2格式 ——不能压缩目录
——bzip 源文件:压缩文件;(源文件消失)
——bzip -k 源文件:压缩文件, 源文件保留
——bzip -d 压缩文件:解压(-k保留压缩文件)
——bunzip2 压缩文件:解压(-k保留压缩文件)
(4).tar.gz格式 ——其实就是先打包为.tar格式,再压缩为.gz格式
——tar -cvf 打包文件名 原文件名
——选项:-c:打包; -v:显示过程; -f:指定打包后的 文件名
——tar -vxf 打包文件名:—— -v:解压缩
(5)打包压缩同时:
——tar -zcvf 压缩包名.tar.gz 源文件名:—— -z:压缩为.tar.gz格式
——tar -zxvf 压缩包名.tar.gz 源文件名:—— -z:解压缩.tar.gz格式
——tar -jcvf 压缩包名.tar.bz2 源文件名:—— -j:压缩为.tar.bz2格式
——tar -jxvf 压缩包名.tar.bz2 源文件名:—— -j:解压缩.tar.bz2格式
——tar -jxvf 压缩包名.tar.bz2 -C /tmp ——:-C后面指定解压缩路径
——tar -jcvf /tmp/压缩包名.tar.bz2 原文件1 原文件2 原文件3:——把原文件1、原文件2、原文件3三个文件压缩到/tmp/压缩包名.tar.bz2
——tar -ztvf 压缩包名.tar.gz :仅仅是查看压缩包里面内容,并不解压
10、关机与重启命令:
(1)shutdown [选项] 时间:
-c:取消前一个关机命令;
-h:关机;
-r:重启;
shutdown -r 05:30 &——将在5:30分重启,&的意思是把这条命令放入计算机后台执行
(2)halt、poweroff、init 0——其他关机命令
reboot 、init 6——其他重启命令
(3)runlevel——查看系统运行级别
(4)cat /etc/inittab——修改系统默认运行级别
(5)logout——退出登录
11、挂载命令:——相当于分配盘符
——mount:查看系统中已经挂载的设备;
——mount -a:自动挂载;(/etc/stab:自动挂载目录)
——mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点:挂载(-t:加入文件系统类型来指定挂载的类型,ext3、ext4、iso9660等)
——挂载光盘:mkdir /mnt/cdrom/ :建立挂载点cdrom; (注意:media、misc、mnt都是空目录,系统预留做挂载点看习惯)
mount -t iso9660 /dev/sr0 /mnt/cdrom :挂载光盘 (注意/dev/sr0 和 /dev/cdrom 是软连接)
mount /dev/sr0 /mnt/cdrom : 系统默认知道光盘的文件类型是 iso9660
cd /mnt/cdrom :去读取光盘内容
umount 设备文件名或者挂载点:卸载命令——umount /mnt/cdrom (注意退出光盘目录再卸载)
——挂载U盘:fdisk -l:查看U盘设备文件名;(sda、sdb、sdc)
mount -t vfat /dev/sdb1 /mnt/usb/ :挂载
注意Linux默认是不支持NTFS文件系统的(建议不使用挂载NTFS)
12、用户登录查看命令:
(1)w——查看所有登录用户信息、以及其他信息
(2)who——查看所有登录用户信息
(3)last——查看当前登录用户 以及 过去登录用户 的登录信息(所有登录过的)
(4)lastlog——查看所有用户最后一次登录时间
13、shell基础——命令行解释器
——echo [ 选项 ] [输出内容] (-e:可以识别输出内容中的转义字符)
\e[1;31m——开启颜色显示; \e[0m——关闭颜色显示;
——#!bin/bash:这句不是注释,如果脚本中调用了其他语言程序,没有这句话,就会报错!
——脚本执行:(1)赋予执行权限,直接运行:chmod 755 XXX.sh ; ./XXX.sh
(2)通过Bash调用执行脚本:bash XXX.sh
14、设定命令别名:
(1)alias 命令名='完整命令名'——零时生效
例如:alias ls ='ls --color=never'
alias ll ='ls --color=auto'
(2)别名永久生效:vim /etc/.bashrc ——写入环境变量配置文件
source .bashrc
unalias 别名——删除别名
15、常用快捷键:
Ctrl + c : 强制终止当前命令
Ctrl + l : 清屏
Ctrl + a : 光标移动到命令行首
Ctrl + e : 光标移动到命令行未
Ctrl + u : 从光标所在位置删除到命令行首
Ctrl + z : 把命令放入后台
Ctrl + r : 在历史命令中搜索
16、管道符:
(1)多命令顺序执行执行:
命令1 ;命令2 ...... ——命令1、命令2顺序执行,命令1和命令2之间没有逻辑关系
命令1 && 命令2 ...... ——命令1正确执行,命令2再执行;命令1执行错误,命令2不执行
命令1 || 命令2 ......——命令1正确执行,命令2不执行;命令1执行错误,命令2才执行
注意:命令1 && 命令2 || 命令3
(2)管道符:
命令1 | 命令2 ——命令1 的正确输出 作为 命令2 的操作对象
例如:ls -l /etc | more :用more命令查看/etc目录下的文件
17、通配符:
?:匹配任意一个字符
* :匹配多个字符
[ ] :匹配中括号内任意 一个 字符,
[ - ]:- 代表一个范围
[ ^ ]:逻辑非
[abc]匹配a、b、c中任意 一个;
[0-9]匹配0到9中任意 一个
[^0-9]匹配不是数字
# :代表注释
' ' :单引号。在单引号中所有的特殊符号都不起作用,不具有变量置换功能
" ":双引号。具有变量置换功能
$ :用于调用变量的值。例如$name,得到name变量的值
$( ):括号内是系统命令,在Bash中先执行它,和夹在两个反单引号(1左边)中间一样
\ :转义符,跟在\之后的特殊符号 将失去特殊意义