Linux重新学习
一、由来
unix到minix到linux 1991正式发行
1.内核版本:linux核心版本 linux内核官网www.kernel.org
2.发行版本:比如redhat、centOS、suse、ubuntu
3.开源软件:apache、nginx、mysql、php、samba、python、mongoDB、Ruby、sphinx
二、应用
1.基于Linux的企业服务器 www.netcraft.com查看网站系统
2.嵌入式系统
三、注意
1.Linux严格区分大小写
2.linux中一切内容皆文件,包括硬件
3.Linux不区分扩展名,按权限区分
四、字符界面
1.占用内存资源小
2.减少出错、被攻击的可能性越小
五、Linux使用
1.Linnux分区 主分区、扩展分区、逻辑分区,最多四个主分区
2.硬件设备文件名,linux是树形目录
3./dev硬件目录 ide硬盘/dev/hd[a-d]
sata硬盘usb硬盘 /dev/sd[a-p]等
4.启动分区 /boot启动分区,200MB /根分区 swap交换分区,内存的两倍、4个G以下两倍,4个G以上和内存相同 /boot分区 建议单独做分区
六、命令 格式 命令 【选项】【参数】
1.setup 设置公用的图形界面 主要设置系统设置 (红帽子专有)
2.service network restart 重启网络设置
3.df df -h 查看硬盘挂载情况
4.pwd 查看当前所在位置 print working directory
5.ls 查看目录中内容 -a所有文件
-l显示详细信息longlist
-d查看目录属性 directory
-h人性化显示文件大小 human
-i显示inode 查看文件的id号
6.文件类型 -rw-r--r--
第一个字符文件类型:-文件 d目录 l软连接文件
第一个三位:u用户 r读 w写 x执行
第二个三位:g用户组
第三个三位:o其他人
最后一个点:ACL权限
7.在linux中 以.开头的文件是隐藏文件 一般是系统文件
8.建立目录 mkdir -p递归创建 make directory
9.cd切换目录 ~进入当前用户目录 -进入上次目录 ..进入上一级目录 .进入当前目录 change directory
10.xshell下 ctrl+L 清屏
11.相对路径 cd ../usr/local 绝对路径 cd /etc/
12.rmdir 删除空白目录
13.rm 删除文件或目录 -r删除目录 -f强制删除 false
14.rm -rf / 会删除linux根目录下所有文件
15.cp 复制目录或文件 -r复制目录 -a=-pdr 复制文件属性 -p连带文件属性复制 -d复制链接属性
16.ll查看目录中文件属性 相当于ls -l
17.mv剪切改名命令 move 源文件 目标文件 也可以用于改名
18.目录结构构 /bin和/usr/bin下是普通用户执行的命令存放位置
/sbin和/usr/sbin 下是超级用户自行命令的存放位置
/boot系统启动目录
/dev 硬件保存位置
/etc 系统配置文件目录
/home普通用户家目录
/root超级用户家目录
/lib linux函数库
/midia光盘 /mnt移动硬盘U盘 /misc外接的设备 系统准备的空目录用于挂载存储设备
/sys和/proc是内存过载点,放在内存中的数据
/tmp系统临时文件目录
/usr系统软件资源目录
/var系统可变文档目录
19.ln硬链接 链接命令 -s软链接 快捷链接 必须要写绝对路径
20.搜索命令
搜索文件 locate和find 第一个搜索快 第二个将所有数据搜索一遍
locate基于索引数据库搜索 /var/bin/mlocate目录下 不是实时的 一天更新一次 用updatedb来强制更新 只能搜文件名 在/etc/updatedb.conf配置筛选条件
whereis 在哪儿 只能用于查系统命令 -b只查看可执行文件 -m只查看帮助文档 whoami我是谁 whatis我是什么
which 只能用于搜索系统命令 看到别名(只能搜索到外部命令,不能搜索到shell命令)
find 【搜索范围】 【搜索条件】 -name根据文件名(精确查找)
模糊查找 通配符 用双引号括起来 *任意内容 ?匹配任意字符 []匹配任意中括号内的字符
-iname 不区分大小写
-user 按照所有者搜索
-nouser查找没有所有者的目录
-mtime修改文件内容 +10十天前 -10十天内 10十天当天修改的文件
-atime文件访问时间
-ctime改变文件属性
-size .当前目录 25k文件大小等于25k +25k文件大小大于25 -25k文件大小小于25k 千字节k M 不加的话默认单位是数据块
-inum 查找i节点搜索文件
-a and逻辑与
-o or逻辑或
示例:find /etc -size +20k -a -size -50k -exec ls-lh {} \
-exec 命令 {} \; 搜索后执行
grep [选项] 字符串 文件名 -v取反 -i取消大小写 可以用正则表达式查找
man帮助命令 获取命令的帮助文档 -f有哪些等级的帮助
apropos
21.touch 新建文件
七、Linux帮助
1.man帮助命令 获取命令的帮助文档 -f有哪些等级的帮助 只用于外部命令
2.命令 --help 用于外部命令
3.help 命令 用于内部命令
4.info 有关命令的全部帮助文档
用whereis命令来查看是否是内部命令(shell命令) 由是否有可执行文件来判断
八、Linux压缩命令
1.zip格式
压缩文件 zip 压缩文件名 源文件
压缩目录 zip -r 压缩文件名 源文件
解压缩 unzip 文件名
2. .gz gzip格式 只能压缩文件
gzip 源文件 源文件消失
gzip -c 源文件>压缩文件 源文件保留
gzip -r 目录 将目录的子文件压缩
解压缩 gzip -d 或者压缩文件夹 gunzip -r 或者压缩文件gunzip
3. .bz2 只能压缩文件
bzip2 源文件 不保留源文件
bzip2 -k 源文件 保留源文件
解压缩 bzip2 -d 压缩文件 -k保留压缩文件
bunzip2 压缩文件 -k保留压缩文件
4. .tar 格式
先打包再压缩 tar -cvf 打包文件名 源文件
解打包 tar -xvf 打包文件名
5. .tar.gz格式
压缩 tar -zcvf 压缩包名.tar.gz 源文件
解压缩 tar -zxvf 压缩包名
6. .tar.bz2格式
压缩 tar -jcvf 压缩包名.tar.bz2 源文件
解压缩 tar -jxvf 压缩包名.tar.bz2
tar -jtvf 只查看压缩文件内容 -t test
九、Linux关机重启
1、shutdown -h关机 -r重启 -c取消关机命令 时间 安全的关机命令
2、halt关机
3、poweroff关机
4、init 0 关机
5、reboot 重启
6、init 6重启 init 5 调用图形界面 用runlevel查看级别
7、运行级别配置 /etc/inittab
8、退出登录 logout exit linux能保持255个连接
十、Linux挂载分区
1、mount 查看已经挂载的硬盘和分区
2、mount -a 将/etc/fstab下的配置文件下的所有挂载点都进行挂载 开机自动挂载 不要随便加特殊选项
3、挂载命令格式 mount 【-t文件系统】 【-o特殊选项】 文件 挂载点
4、解除挂载 umount
5、U盘挂载 disk -l 查看U盘设备文件名 mount -t vfat 文件名 挂载点
十一、Linux查看用户
1、 w 查看登录用户
2、who 简单查看登录用户
3、last 查看历史及现在登录用户信息和重启信息
4、lastlog查看所有用户最后登录时间
七.Linux查看日志
tail、cat、tac、head、echo
动态日志 tail -f 文件名
前3000行到前3999行 cat 文件名 | tail -n +3000 | head -n 1000
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行
cat -n test.log |grep "地形" |more 或者 less分页
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
八、Linux查询进程并杀死
ps -ef | grep java
kill -9 [PID]
touch cat echo
inux查看日志文件内容命令tail、cat、tac、head、echo
tail -f test.log
你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,
---------------------------
linux 如何显示一个文件的某几行(中间几行)
从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
用sed命令
sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
例:cat mylog.log | tail -n 1000 #输出mylog.log 文件最后一千行
---------------------------
cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: $cat file1 file2 > file
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
把test.txt文件扔进垃圾箱,赋空值test.txt
cat /dev/null > /etc/test.txt
注意:>意思是创建,>>是追加。千万不要弄混了。
------------------------------------------
tac (反向列示)
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,
而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
------------------------------------------
在Linux中echo命令用来在标准输出上显示一段字符,比如:
echo "the echo command test!"
这个就会输出“the echo command test!”这一行文字!
echo "the echo command test!">a.sh
这个就会在a.sh文件中输出“the echo command test!”这一行文字!
该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。
用echo命令输出加引号的字符串时,将字符串原样输出;
用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。