****************基本操作*****************
关机
shutdown -h now root用户
init 0 root用户
halt root+一般用户
poweroff
重启
shutdown -r now root用户
init6 root用户
reboot root+一般用户
注意:
1.shutdown 比较灵活,可用于先关闭服务再关机重启和定时,可向所有用户发出警告。
2.关机重启前可用几次sync命令同步磁盘。防止数据丢失。
3.磁盘损坏用fsck /dev/sda7文件系统检查修复。
注销
logout
ctrl+alt+backspace
切换用户
su switch user su liaoyi ( #root用户,$一般用户)
终端控制界面切换(字符<->图形)
startx 图形化界面
init 5
runlevel 3:ctrl+alt f1~f6(tty1-tty6),startx
runlevel 5:ctrl+alt f1~f6(tty1-tty6),f7 (tty7) 控制台转换(不同用户)
vi /etc/inittab id:5:initdefault: runlevel
tab 命令补全/文件名补全
ctrl+c 发出SIGINT信号中断退出进程
ctrl+z 发出SIGTSTP信号暂停进程
ctrl+d 键盘输入结束,离开输入界面,相当于exit
ctrl+alt+enter 全屏
clear 清屏
echo -e '\033c' 彻底清屏
man manual操作说明 空格,pg dn ,pg up翻页,/word 查找,q退出(/usr/share/man/)
info linux中的在线求助命令。(/usr/share/info/)
/usr/shar/doc/ 各种说明文档
nano 一种简单的文本编辑器
bc 计算器 scale=3 设置小数位数,quit离开
U盘挂载:
VM->Removble Device->USB->connect(虚拟机右下角)
fdisk -l 或 df 查看是否挂载以及优盘信息。
挂载mount -t vfat /dev/sdb1 /mnt
卸载: umount /mnt
光盘挂载:
VM->Removble Device->CD/DVD->connect
挂载mount /dev/cdrom /media
卸载cd ..
umount /media
****************文件系统*****************
---基本文件操作---
ls list files
ls -a =ls --all all ls-l=ll long ls-c按日期排列 ls -i inode ls -ail
ls /usr/include
cd chang diretory
cd . 当前目录 cd ..父目录 cd # =cd ~=cd 家目录 cd ~liao 进入某个账户的home cd -上次目录
pwd print working directory
pwd -p 显示正确路径(不以链接文件显示)
mkdir make directory 新建目录
mkdir dir1 dir2 dir3
mkdir -p dir1/dir2
mkdir -m 777 dir1
rmdir remove directory 删除空目录
rm -rf dir 强制递归删除目录以及目录中的文件(recurse force)
cp copy 复制(默认-i询问,-f强制,-r递归,-u更新)
cp a.c /home cp /tmp /home
cp -r dir3 /tmp/dir4 递归复制
cp -a a.c /home 保留文件原有属性
cp -u a.c /home/a.c 目标文件与源文件有变化才复制(update)
cp -s a.c a_slink 生成软链接
cp -l a.c a_hlink 生成硬链接
cp -d a_slink a_slink1 复制链接文件而非原文件。
mv remove mv /home/a.c 删除、重命名
mv -r mv -r/home/dir
cat 查看文件(concatenate连续)
cat /etc/passwd
cat stdio.h | grep fgetc
cat stdio.h | more 分页,自动退出
cat stdiolh | less 分页,q退出
tac 从后面开始显示
nl 显示加行号
more 翻页查看
less 翻页查看(比more更灵活,man调用less,所以和man操作一样)
head -n 10 a.txt 显示头10行 head -n -100 a.txt 除去后面100行
tail -n 10 a.tex 显示尾10行 head -n +100 a.txt 除去前面100行
od -t c a.bin (d十进制,f浮点数,o八进制,x十六进制)
touch 创建文件,还可以修改文件时间(mtime(modification),ctime(status),atime(access))
ll默认显示的是mtime,可用ll --time=ctime a.txt 显示其他时间。
touch -t 1309150202b a.txt 修改文件时间
file 查看文件基本数据
脚本文件名查询:
which 根据PATH查找执行文件
type
文件名查询
whereis 查找数据库,快
locate 查找数据库(/var/lib/mlocate),快(使用前可用updatedb命令读取/etc/updatedb.conf更新数据库)
find ./ -name a.c 直接查找磁盘,功能强大,速度慢
1.时间
2.用户,用户组
3.权限,名称
4.其他
/vi/vim/gedit
grep "***" ./a.c
netstat -an | grep tftp
grep:global search regular expression(RE) and print out the line
全面搜索正则表达式并把行打印出来
wc 统计行数,单词数,字符数(-l -c -w)
重定向
1.> cat passwd > a.txt 覆盖 3.< wc < a.txt
2.>> cat passwd >> a.txt 追加 4.<<
---磁盘与文件系统管理---
ln link 创建链接文件
1.硬链接: ln filename lfilename 在某个目录的数据块中多了一个文件名指向同一个文件的inode号。
2.符号链接:ln -s filename lfilename 单独的文件inode号,存放要指向的目录下的文件名。新链接文件,不能单独存在。(symbolic)
df disk free主要读取super block来获取磁盘整体信息
df -h
du directory usage 评估文件系统的磁盘使用量
分区
fdisk 可新增和删除磁盘分区(无法处理大于2TB的磁盘)
fdisk -l 查看整个系统的磁盘设备分区情况。
fdisk /dev/sda 针对一个磁盘进行操作
p:打印分区表
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2479 19912536 83 Linux
/dev/sda2 2480 2610 1052257+ 82 Linux swap / Solaris
n 新建分区
d删除分区
q不保存离开,w写入离开
partprobe 强制让内核重新找一次分区表
parted 处理2T以上的磁盘分区
MBR(Master Boot Record)---BIOS+MBR
GPT(GUID (Globally Unique Identifier)Partifier Partition Table Format)---EFI + GPT
parted /dev/sdc help 帮助(h)
parted /dev/sdc print 打印分区表(p)
parted> mklabel gpt 将一个MBR磁盘修改为为GPT磁盘(支持2T以上分区)
parted>mklabel msdos 将一个GPT磁盘修改为为MBR磁盘
parted /dev/sdc mkpart part1 ext4 0G 100G 新增分区
parted /dev/sdc rm 3 删除分区
parted> mkpartfs 新增分区并格式化(只允许ext2)
parted> quit 提出(q)
mkfs 格式化
mkfs -t ext3 /dev/hdc6 (综合命令,使用默认方式格式化,按两次tab可现实支持的文件系统。)
日志ext3 卷标label block大小 每个inode对应block大小
mke2fs -j -L "liao_logical" -b 2048 -i 8192 /dev/hdc6(公用程序指定格式格式化)
fsck 磁盘检验:
fsck -C -f -t ext3 /dev/hdc6 强制检查设备(实际调用e2fsck,按两次tab现实支持fsck的文件系统)
执行fsck时,会对文件系统有损坏,检查的分区不能挂在系统上。
检测的结果如果有问题的数据会放到lost+found目录中。
badblocks -sv /dev/hdc6 检查磁盘是否有坏轨,mke2fs会检测,所以一般不用。
mount 挂载
mount 查看系统当前挂载信息
mount -l 查看系统当前挂载信息(显示卷标label)
mount -a 重新按/etc/fstab 数据将未挂载的磁盘都挂载上来。
mount -t 按照某种文件系统类型进行挂载。
mount -L 用卷标label进行挂载
mount -o 挂载时额外参数(ro,rw,async,sync,remount...)
/etc/filesystems:系统指定的测试挂载文件系统类型
/proc/filesystems:Linux系统已经加载的文件系统类型
/lib/modules/$(uname -r)/kernel/fs/*内核支持的问价系统驱动程序
磁盘挂载:mount /dev/hdc6 /mnt/hdc6
光盘挂载:mount -t iso9660 /dev/cdrom /media/cdrom
U盘挂载: mount -t vfat -o iocharset=cp950 /dev/sda1 /mnt/flash (中文语系挂载)
重新挂载根目录:mount -o remount,rw,auto/ (单用户模式可把只读的根目录重新挂载)
挂载/home到/mnt/home下:mount --bind /home /mnt/home
用卷标挂载:mount -L "liao_logical" /mnt/hdc6 (用dumpe2fs -h /dev/hdc6 查询卷标)
umount 卸载
可以用设备文件名或者挂载点进行卸载,注意要退出挂载目录进行。
umount /dec/hdc6
umount /media/cdrom
其他磁盘参数修改工具:
mknod 新建设备节点
e2label /dev/hdc6 "my_test" 修改label卷标
tune2fs -l 读super block, -j转换为ext3文件系统,-L 修改label卷标
hdparm -Tt /dev/sda 一般用于IDE参数调整。还可以用来测试磁盘性能。
blkid
开机挂载:
/etc/fstab
设备(卷标) (挂载点) 文件系统 额外参数 dump(备份) fsck(磁盘检查)
LABEL=/ / ext3 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
实际挂载记录:
/etc/mtab
/proc/mounts
swap构建
---文件的压缩打包备份---
compress,uncompress(.Z) -> gzip,zcat(.gz) -> bzip2 ,bzat(.bz2)
利用压缩算法将文件的空余空间充分填满。
zip tmp.zip test 压缩
unzip tmp.zip 解压缩
tar -cvf tmp.tar /home/tmp 打包
tar -xvf tmp.tar 解包