linux笔记
来源:互联网 发布:如何利用网络挣钱 编辑:程序博客网 时间:2024/06/10 20:25
Vim 格式设置: vim~/.vimrc
vim -o file1 file2 同时打开两个文件
Vim中运行命令!: read !ls /boot/*.*
date “+%Y-%m-%d%H:%M:%S” 格式化显示时间
修改组成员:/etc/group 组后面加用户
让用户登录系统只能修改密码:/etc/passwd 修改/usr/bin/passwd
Ctrl+a :表示回到指令的最前端;
Ctrl+e:表示回到指令的最后端;
Ctrl+d:表示删除光标所在的字符;
Ctrl+h: 表示往前删除光标之前的字符;
Ctrl+k:往后删除指令的后面的字符;
Ctrl+u:往前删除指令的前面的字符。
mv当目的地是一个文件夹则可以移动多个文件 -v 显示详细信息
mv命令可是将文件重命名 例:mvfile file2 将file重命名为file2一次移动多个文件
命令扩展:$()、`` (~的符号)
echo "this system name is$(hostname)"
echo "this system name is `hostname`"
提取文本:cat /etc/passwd | tail (- n7) 最后10行(最后7行)(head 前10,tail后10)
通过列提取:ls -l /etc/passwd | cut -d ' '-f5 字段空格第五列
echo"ABCDEFG" |cut -c 2-4 BCD
关键字提取:grep -i查询不区分大小写
-n 打印行号
-v 打印不包含匹配模式的行
-A3 之后3行 -B2之前2行
特殊符号:^行首 $行尾 ^$空格 ^#以#开头 $%以%结束
强制开关E:….| grep –Ev ‘^(#|$)’ 去#开头去空格
文本统计:wc -l 行数统计 –w 单词 -c 字节
文本排序:sort -r 降序 –nr 数字降序 -n数字排序 –f忽略大小写 –u移除重复行
cat number.txt|sort |uniq -c
对比文件:diff –u n1 n2
创造临时文件来追加覆盖:cat ./inittab | grep -Ev '^(#|$)' > /tmp/inittab.tmp; cat/tmp/inittab.tmp >/tmp/inittab ;rm -rf /tmp/inittab.tmp
查询替换:cat iptables.lst | sed 's/172.24/10.0/g' g是全局
catiptables.lst | sed '/80/,/90/s/input/output/i' 从80-90 不区分大小写替换
cat iptables.lst |sed -e 's/input/output/i' -e 's/172.24/10.0/g' cat –e 多个替换
sed -f myrules < iptables.lst 1-100 创建我的规则快速执行多个文件
vim中的设置替换
%s/172.24/10.0/ %表示全部替换
Bash:#!/bin/bash echo"Today is $(date +%F)" bash记得给X权限
查找进程:ps axu | head –n5
ps axo"pid,comm,user,tty" | sort -rn | head -n10
ps aux | grep -E'^(student|visitor)'
pgrep -U 500,501
pidof vim
结束进程:kill -9 进程号(立即中断) -15(干净的中断)
Kill -9 $(pidofvim)
Killall -9 vim
优先级:renice -20 进程号 值-20到19 ,值越低CPU优先级越高
计划任务:执行一次at now+1min
ifconfig eth0172.25.1.222/16 && echo "service network restart" | atnow+1min
重复执行crontab–e (* * * * *) -r 移除
even:表示偶数,0-23/2,奇数天;odd:表示奇数,1-23/2,偶数天;
任务控制:jobs 列举任务 ctrl-z 停止任务
fg %jobnum 恢复前台
kill -9 %2
快速修改密码:echo "redhat" |passwd --stdin student
通用变量(前面带$):PS1:显示bash提示符 PS1=“…”
PATH:查找可执行程序的目录 PATH=$PATH:/tmp
别名:alias snr=”service networkrestart
配置文件:/etc/bashrc
MD5加密:echo "abc123" | openssl md5
Bash启动任务:profile /etc/profile(全局) ~/.bash_profile(用户) 仅用于在登录的shell
用于 设置环境变量,运行命令
Bash启动任务:bashrc /etc/bashrc(全局) ~/.bashrc(用户) 运行在所有的shell
用于设置本地变量,定义别名
Bash退出任务:~/.bash_logout
查找:find /etc/ /sbin/ -iname "Passwd" (–user root -uid 500)
find ./ -not \(-user 500 -o -user 501 \)
find ./ -perm 666 权限为666
find ./ -perm +222(+222 任何人可写)(-222每个人可写)(-002其他人可写)
find ./ -size 10M +10M -10M (大于10M, 小于10M) -not –user 500
访问时间:find ./-amin -10 -atime 最后访问 –mtime 数据修改 –ctime 权限属性
(附加:-mtime n 在n天之前的“一天之内”改过的文件
-mtime +n 列出n天之前(不含n本身)被更改过的文件
-mtime –n列出n天之内(含n本身)被更改过的文件
-newer file 比file还要新的文件)
查找执行命令:find/etc/ -name "*.conf" -exec cp {} {}.$(date +%F) \;
find /etc/ -name"*.2013-*" -exec rm {} -rf \;必须以空格\;结尾
find -size +102400k -ok gzip {}\; -ok 操作之前提示
执行实列: find -name "*.conf" -exec cp {}{}.org \;备份配置文件,加.orig后缀
find ~ -perm -002 -exec chmod o-w {}\;修复主目录中其他人可以写的文件
find /tmp/ -ctime+3 -user conan -ok rm {} \;提示移除超过3天conan的临时文件
创建10M文件:dd if=/dev/zero of=10M.txt bs=1Mcount=10
创建用户及其家目录:useradd -d /home/testing mikal
创建多层目录:mkdir /tmp/1/2/3/4/5/6 –p
创建权限文件夹:mkdir –m 711 test
给单一用户权限:setfacl -mu:natasha:rw fstab 给natasha rw权限
setfacl-m u:harry:--- fstab 不给harry权限
查看详细权限: getfacl fstab
echo “abcd” > 1.txt 写操作覆盖数据 >>追加操作
2> 重定向标准错误到文件 &> 重定向所有输出到文件
2>&1 重定向标准错误到标准输出,通过管道
ls -l 1.txt 2.txt 3.txt 2>&1 >test.txt (只输出正确消息,错误的显示在屏幕上)
(cal 2007 ;cal 2008) 组合多个程序的标准输出
cat <<TTTT >> /tmp/1.txt
<< 追加输入到文件 >>追加输出到文件, 当输入“TTTT”时文件编辑结束
文本排序sort(排序文本到标准输出)-未修改原文件
命令选项:-r 反向排序 -n 按数字排序 -f忽略字符串中的大小写 -u 移除输出中的重复行。
uniq :从输入中移除重复相邻的行,使用-c来统计重复的次数,结合sort使用:
sort file.txt|uniq -c
join:将两个文件当中有相同数据的那一行加在一起
格式:join file1 file2
查看网页源代码:elinks –source 地址 >html.txt
下载:断点续传wget –c 网址 –O 存放路径
Ssh: ssh root@172.25.3.12ls /etc –l
Scp: scp /etc/1.txt root@172.25.3.12:/tmp
scp –p 保留文件的时间和权限
rsync –v /etc/1.txt root@172.25.3.12:/tmp 高效传输,不会传重复的文件
密钥:生成密钥ssh-kengen 拷贝公钥ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.3.12
查看系统信息:版本cat /etc/redhat-release file /sbin/init
Rpm包管理:rpm –ivh ** 安装显示进度 -e 移除
rpm –ivh******** --force 强制安装(重装)
rpm –ivhftp://(http://)
rpm查询:rpm –qa 列出所有已安装的包 -ql 包名 列出包中文件 -qi 包信息
通过路径查包名: rpm –qf路径 rpm –qf /bin/passwd (rpm –qf $(which passwd))
未安装包: -qip -qlp
-V 检验安装文件,没输出则正确
重新安装包的时候配置文件不会被覆盖,解决办法:移动配置文件让它缺失后重装包
检验数字签名: rpm --import/etc/pki/rpm-gpg/* --import导入key
Yum安装:yuminstall 安装 remove 移除 包名 (groupinstall localinstall )
yum list (repolist列举资源仓库 grouplist provides)
yum仓库:/etc/yum.repos.d/ 下创建一个 my.repo
本地yum创建:mkdir /mnt/cdrom
mount/dev/hdc /mnt/cdrom
vim /etc/yum.repos.d/my.repo
[cdrom] 缓冲文件夹
name=cdrom 描述
baseurl=file:///mnt/cdrom/Server 包地址
enabled=1 1表示启用这个仓库
gpgcheck=0 0表示不检查
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
清除缓冲;yumclean all
Md5: md5sum 1.txt (cat 1.txt | openssl md5)
一般用户可以用/sbin/ifconfig /sbin/shutdown来执行这个命令
复制:cp -r 复制目录(递归) -a 复制完全属性 –i 复制前询问 –p 复制权限属性
删除查看带有—符号参数的文件 ,前面加—或者./ ls –l -- -aaa- rm ./-aaa-
cat –n 显示所有行号 –b只显示非空白行号 (tac倒序显示)
head –n 100 /etc/passwd 显示前100行
文件默认权限:umask –S umask 0022 与一般权限有关的是后面三个数字
查看设备格式详细信息:blkid
文件系统格式化:mkfs.ext3 /dev/sda5 mke2fs –j /dev/sda5/
ext2变ext3 tune2fs -j /dev/sda5
标签: e2label /dev/sda5 NICE mountLABEL=NICE /mount(mount -L NICE /mount)
查看设备:dumpe2fs /dev/sda5 | less
磁盘整理:e2fsck -f /dev/sda5
挂载:mount -o ro /dev/sda6 /mount 挂载ro权限
mount –o remount,rw./
默认选项:rw、suid、dev、exec和async(atime)
单用户模式维护时,根目录通常会被系统挂载为只读
tune2fs -C 50/dev/sda5 让挂载次数达到50次
挂在同一挂载点的两块分区上面的会覆盖下面的。卸载先卸载上面的。
自动挂载:在/etc/auto.master 配置挂载点 cp /etc/auto.misc /etc/mydirect
/etc/auto.mydirect 直接映射含绝对路径名
service autofs restart 启动服务
不能卸载时用lsof查看
配置文件:vim /etc/fstab
连接文件:硬链接ln /etc/crontab ./ inode号一样,不能跨文件系统,不能连接到目录
符号连接:ln -s/etc/crontab crontab2
配置配额系统:挂载选项mount –oremount,usrquota(grpquota) ./
初始化;quotacheck ./ -cum
启动配额:quotaon ./ 查看摘要信息;repquota /share
直接编辑配额:edquota username(groupname)
从shell中;setquota username 4099 5120 40 50./
从已定义用户的原型中复制:edquota –p user1 user2
处理交换文件和分区;mkswap /dev/sda5 格式化 swapon /dev/sda5激活 swapon –s查看 swapon -p 200 /dev/sda5 设优先级 (前提是swapoff)
磁盘阵列:创建RAID:RAID0: mdadm-C /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
RAID5: mdadm -C /dev/md5 -l 5 -n 3 –x 1 /dev/sda{5..8}
格式化,挂载,读写测试
停止RAID:mdadm –S /dev/md5
查看信息:mdadm –D /dev/md5
标记坏盘:mdadm/dev/md5 –f /dev/sda5 移除硬盘:mdadm /dev/md5 –r /dev/sda5
移除坏盘:mdadm /dev/md5 –f /dev/sda5 –r /dev/sda5
添加硬盘; mdadm –a/dev/sda5
写入配置文件:mdadm -Ds >etc/mdadm.conf
查看消息:watch -n .5 'cat /proc/mdstat' iostat /dev/sda{5..8} 1
逻辑卷:
创建物理卷:pvcreate /dev/sda9
创建卷组:vgcreate -s 16M test /dev/sda9(指定PE为16M)
创建逻辑卷:lvcreate -L 1000M -n ftpdata test ;lvcreate-l 100 -n webdata test
pvscan:查询任何具有PV的磁盘
pvdisplay:显示目前系统上的PV状态
pvremove:将PV属性删除,该分区不具有PV属性
vgextend:在VG内增加额外的PV
vgreduce:在VG内删除PV
vgchange:设置VG是否启动(active)
vgremove:删除一个VG
格式化,挂载,读写。
逻辑卷扩容:lvextend -L +4G /dev/test/ftpdata ;lvextend -l +100%FREE /dev/test/ftpdata
在线增长:resize2fs /dev/test/ftpdata
逻辑卷压缩:先卸载,umount
对文件系统做检查:e2fsck -f /dev/test/ftpdata
计算大小:要求为vgdispaly PE size的倍数 ; resize2fs /dev/test/ftpdata 4096M
改变类型,使其非活跃:lvchange -an /dev/test/ftpdata
减小卷:lvreduce -L 4096M /dev/test/ftpdata
改变类型,使其活跃:lvchange -ay /dev/test/ftpdata
挂载:mount /dev/test/ftpdata /ftpdata/
查看:df /ftpdata/
LVM快照:对现有逻辑卷创建快照。先挂载逻辑卷。
创建:lvcreate-s -L 1G -n ftpsnap /dev/test/ftpdata
备份:dump -0u-f /tmp/ftpdata.dump /dev/test/ftpsnap
挂载:mount -oro /dev/test/ftpsnap /snap/ 对比: df/ftpdata /snap/
移除快照:umount /snap/ lvremove /dev/test/ftpsnap
还原:restore -rf/tmp/ftpdata.dump
打包:tar cvf /tmp/etc.tar /etc
打包压缩GZIP: tar czvf /tmp/etc.tar.gz /etc/
打包压缩BZIP2: tar cjvf /tmp/etc.tar.bz2 /etc/
解压:tar xvf ***
Linux系统结构(由里到外):硬件--kernel(驱动程序)--shell(终端、接口)--外层应用程序
Linux启动流程:
1. 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备
2. 读取并执行第一个启动设备内MBR的boot loader引导装载程序(在bootsector第一个引导扇区内)。即GRUB程序等
3. 依据boot loader的设置加载kernel,并加载驱动程序
4. kernel(内核)调用init进程,init取得run-level信息,并执行rc.sysinit等文件
先安装windows再安装linux原理:W的loader默认不具有控制权转交功能。
Boot loader功能:
1.提供菜单:多重引导。2.加载内核文件3.转交其他loader
内核:/boot/vmlinuz
内核解压缩所需RAMDisk:/boot/initrd
内核模块:/lib/modules/$(uname-r)/kernel
内核版本:/proc/version uname –r (-a查看所有)
查看已装内核模块:lsmod
内核模块的加载和删除:modprobe(加载) modprobe –r(移除)
modprobe -l | grep 128 查看模块 modinfo qla1280 查看详细信息
lsmod |grep qla128 查看已装
/etc/modprobe.conf 配置文件(可设置别名和参数)
重新编译具有额外的模块:mkinitrd --with=qla1280--with=r8169 /boot/initrd-with.img $(uname -r)
GRUB:主流的bootloader(引导装载程序)
gzip解压:gunzip -S.img ./initrd-2.6.18-308.el5.img
cpio解压:cpio -i< ../initrd-2.6.18-308.el5
做成文件清单:find ./ > ../file.lst
打包:cpio -o < ../file.lst >../initrd-ido
打包成特定格式:cpio -H newc -o <../file.lst > ../initrd-ido
压缩:gzip -S .img -9 ./initrd-ido(最大压缩)
对比:diff ./init ../old/init
弹出设备:eject /dev/sda
一般文件系统转化为光驱,必须加上loop参数:mount /linux.iso /media/cdrom –o-loop
查看usb:lsusb
Udev: udevinfo -q path -n /dev/sda1 (根据设备名查路径)
udevinfo -q all -p /block/sda/sda1(根据路径查所有)
在/etc/udev/rules.d/mydevice.rules中写入:
KERNEL=="sd*",ACTION=="add",SYSFS{serial}=="45545454543543",NAME="sda%n",OWNER="student",GROUP="student",SYMLINK+="myusb/part%n"
- linux笔记
- linux笔记
- linux 笔记
- linux笔记
- linux 笔记
- 笔记(Linux)
- linux 笔记
- LInux笔记
- Linux笔记
- Linux笔记
- Linux笔记
- linux笔记
- linux 笔记
- linux--笔记
- linux笔记
- linux笔记
- linux笔记
- linux笔记
- oracle scott 用户下emp,dept,bonus等表的关联查询
- 什么是智能dns解析
- 飞鸽传书下载最新版2013
- static in C/C++
- delphi线程的创建、挂起、激活与终止
- linux笔记
- 学习android第一篇:图片的放大缩小
- F1026 File not found: 'DockForm.dcu
- Mysql COALESCE的使用
- SQLServer——非聚集索引结构
- 关于在JS中动态获得action的值
- UIScrollView的属性总结
- 开机adb可能不认设备,执行adb devicesi会出现:
- HDU 2112 最短路径