Part11 文件
管理
# ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件
文件
管理
# ls ls -l或ll 列出当前目录下文件的详细信息
文件
管理
# pwd pwd 查看当前所在目录的绝对路经
文件
管理
# cd cd .. 回当前目录的上一级目录
文件
管理
# cd cd - 回上一次所在的目录
文件
管理
# cd cd ~ 或 cd 回当前用户的宿主目录
文件
管理
# cd cd ~用户名 回指定用户的宿主目录
2 文件
管理
# mkdir mkdir 目录名 创建一个目录
文件
管理
# mkdir mkdir –p 递归式去创建一些嵌套目录
文件
管理
# rmdir Rmdir 空目录名 删除一个空目录
3 文件
管理
# rm rm 文件名 文件名 删除一个文件或多个文件
文件
管理
# rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f
4 文件
管理
# cat cat文件名 一屏查看文件内容
5 文件
管理
# more more文件名 分页查看文件内容
6 文件
管理
# less less 文件名 可控分页查看文件内容
7 文件
管理
# grep grep字符 文件名 根据字符匹配来查看文件部分内容
8 文件
管理
# mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下
文件
管理
# mv mv 文件名 新名称 在当前目录下改名
9 文件
管理
# cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下
10 文件
管理
# find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
11 文件
管理
# ln ln 源文件 链接名 创建当前目录源文件的硬链接
ln /home/test /usr/test1 在/usr下建立/home/test的硬链接
12 文件
管理
# ln Ln -s a b 创建当前目录下a的符号链接b
13 文件
管理
# touch touch file1 file2 创建两个空文件
14 磁盘
管理
# df df 用于报告文件系统的总容量,使用量,剩余容量。
15 磁盘
管理
# du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。
16 磁盘
管理
# fdisk fdisk -l 查看系统分区信息
17 磁盘
管理
# fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区
18 磁盘
管理
# mkfs.ext3 Mkfs.ext3 /dev/sdb1
为第一块SCSI硬盘的第一主分区格式化成
ext3的文件系统
mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统
19 磁盘
管理
# mount mount -t 文件系统类型 设备路经 访问路经 磁盘
管理
# 文件系统类型
ISO9660 光驱文件系统
vfat Fat文件系统(windows)
挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom
挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区
17 磁盘
管理
# Umount /mnt/cdrom 卸载/mnt/cdrom为空
18 文件权限 # chmod chmod u+s file 为file的属主加上特殊权限
chmod g+r file 为file的属组加上读权限
chmod o+w file 为file的其它用户加上写权限
chmod a-x file 为file的所有用户减去执行权限
chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限
19 文件权限 # chown chown root /home 把/home的属主改成root用户
20 文件权限 # chgrp chgrp root /home 把/home的属组改成root组
21 打印
管理
# redhat-config-printer-tui 进入安装打印机界面
22 打印
管理
# lp lp –d hptr file 打印file到hptr的打印机上
23 打印
管理
# lpq Lpq –P 打印机名 查看打印机的状态
24 打印
管理
# lprm Lprm –P 打印机名 a 删除打印机内的打印作业
25 打印
管理
# disable Disable –r “changing paper” HPtr 禁用打印机并提示原因
26 打印
管理
# enable Enable HPtr 重新启用被禁用的
27 用户
管理
# useradd Useradd 创建一个新的用户
28 用户
管理
# groupadd Groupadd 组名 创建一个新的组
29 用户
管理
# passwd Passwd 用户名 为用户创建密码
30 用户
管理
# Passwd -d Passwd -d用户名 删除用户密码也能登陆
31 用户
管理
# Passwd -l Passwd -l用户名 锁定账号密码
32 用户
管理
# Passwd -u Passwd -u用户名 解锁账号密码
33 用户
管理
# Passwd -S Passwd -S用户名 查询账号密码
34 用户
管理
# Usermod -l Usermod -l 新用户名 老用户名 为用户改名
35 用户
管理
# Usermod -L Usermod -L 要锁定用户名 锁定用户登陆
36 用户
管理
# Usermod -U Usermod –U解锁用户名 解锁用户登陆
37 用户
管理
# Usermod -u Usermod –u 501用户名 改变用户UID
38 用户
管理
# Userdel Userdel–r 用户名 删除用户一切
39 用户
管理
# Groupmod -n Groupmod –n新用户名 老用户名 为组改名
40 用户
管理
# Groupmod -g Groupmod –g 501 组名 改变组GID
41 用户
管理
# groupdel Groupdel组名 先应删它的用户 删除组
42 用户
管理
# gpasswd -a gpasswd -a 用户名 组名 增加用户到组
43 用户
管理
# Id id 用户名 查用户信息
44 软件
管理
# rpm -qa rpm –qa | less 查询已安装RPM
45 软件
管理
# rpm –qa | grep ftp 查询指定RPM
46 软件
管理
# rpm -q rpm -q 已安装的RPM包 查是否安装
47 软件
管理
# rpm -q telnet-server 查看telnet服务器包
48 软件
管理
# rpm -qi rpm –qi 软件包名称 查看软件的描述信息
49 软件
管理
# rpm -ql rpm –ql软件包名称 查询软件包的文件列表
50 软件
管理
# rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包
51 软件
管理
# rpm -qp rpm –qp软件包全名 查询未安装的软件包信息
52 软件
管理
# rpm -e rpm –e 软件包名称 删除具体的软件包
53 软件
管理
# rpm -U rpm –Uvh软件包全名 升级软件包并显示过程
54 软件
管理
# rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程
55 软件
管理
# rpm -V rpm –V软件包名称 验证软件包的大小,类型等
56 软件
管理
# tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
57 软件
管理
# tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包
58 软件
管理
# tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
59 软件
管理
# tar –tf tar –tf benet.tar 看非压缩包的文件列表
60 软件
管理
# tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表
61 软件
管理
# tar –xf tar –xf benet.tar 非压缩包的文件恢复
62 软件
管理
# tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复
63 软件
管理
# tar -jxvf tar –jxvf benet.tar.bz2
64 软件
管理
# diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件
65 软件
管理
# diff diff file1 file2 比较两个文件的区别
66 软件
管理
# Patch Patch file补丁名.patch 打补丁
67 软件
管理
# ./configure --prefix=/usr/local/ 编译前配置
68 软件
管理
# make 编译
69 软件
管理
# make install 安装编译好的源码包
70 启动
管理
# reboot Init 6 重启LINUX系统
71 启动
管理
# Halt Init 0 Shutdown –h now 关闭LINUX系统
72 启动
管理
# runlevel 显示系统运行级
73 启动
管理
# Init [0123456] 改变系统运行级,7种
74 启动
管理
# Chkconfig –-list [服务名称] 查看服务的状态
75 启动
管理
# Chkconfig –-level on|off|set 设置服务的启动状态
76 启动
管理
# Chkconfig on|off|set 设置非独立服务启状态
77 进程
管理
# Top动态 Ps-aux静态 进程树pstree 查看系统进程
78 进程
管理
# 程序名 & 后台运行程序
79 进程
管理
# fg 把后台运行的进程调回前台
80 进程
管理
# bg 把前台运行进程调到后台
81 进程
管理
# renice Renice +1 180 把180号进程的优先级加1
82 进程
管理
# kill Kill PID 终止某个PID进程
83 进程
管理
# at at 5pm + 3 days /bin/ls 指定三天后下午5:00执行/bin/ls
84 进程
管理
# crontab Crontab -e 用VI的形式来编辑自动周期性任务
85 进程
管理
# crontab Crontab -l 查看自动周期性任务
86 进程
管理
# crontab Crontab -r 删除自动周期性任务
87 进程
管理
# crond Service crond 马上启动自动周期性服务 Service crond
实现磁盘配额 (注安装LINUX时建立/home分区)
目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额
实现步骤:
1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。
2、卸载/home目录 #umount /home
3. 挂接/home目录 #mount /home
4、增加用户zhao #useradd zhao
5、修改密码 #passwd zhao
6、生成关于/home目录的quota信息 # quotacheck -cmug /home
#quotacheck -vu /home
7、查看所有用户的信息 #repquota -au
8、设置配额 #edquota -u zhao
将soft 和hard 分别改为5和10
9、保存并退出 #wq!
10、修改时间 #edquota -t
11、 #wq!
12.开启/home上的磁盘配额功能 #quotaon /home
13.查询配额 #quota -u zhao
14.验证配额 #su - zhao
$touch myfile
Part2
Ubuntu一些很必要的命令
安装
查看软件xxx安装内容
dpkg -L xxx
查找软件
apt-cache search 正则表达式
查找文件属于哪个包
dpkg -S filename
apt-file search filename
查询软件xxx依赖哪些包
apt-cache depends xxx
查询软件xxx被哪些包依赖
apt-cache rdepends xxx
增加一个光盘源
sudo apt-cdrom add
系统升级
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
清除所以删除包的残余配置文件
dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P -
编译时缺少h文件的自动处理
sudo auto-apt run ./configure
查看安装软件时
下载
包的临时存放目录
ls /var/cache/apt/archives
备份当前系统安装的所有包的列表
dpkg --get-selections | grep -v deinstall > ~/somefile
从上面备份的安装包的列表文件恢复所有包
dpkg --set-selections /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -I POSTROUTING -j MASQUERADE
查看
路由
信息
netstat -rn
sudo route -n
手工增加删除一条
路由
sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
修改网卡MAC地址的方法
sudo ifconfig eth0 down #关闭网卡
sudo ifconfig eth0 hw ether 00:AA:BB:CC
D:EE #然后改地址
sudo ifconfig eth0 up #然后启动网卡
统计当前IP连接的个数
netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n
netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n
统计当前20000个IP包中大于100个IP包的IP地址
tcpdump -tnn -c 20000 -i eth0 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | awk ' $1 > 100 '
屏蔽IPV6
echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6
服务
添加一个服务
sudo update-rc.d 服务名 defaults 99
删除一个服务
sudo update-rc.d 服务名 remove
临时重启一个服务
/etc/init.d/服务名 restart
临时关闭一个服务
/etc/init.d/服务名 stop
临时启动一个服务
/etc/init.d/服务名 start
设置
配置默认Java使用哪个
sudo update-alternatives --config java
修改用户资料
sudo chfn userid
给apt设置代理
export http_proxy=http://xx.xx.xx.xx:xxx
修改系统登录信息
sudo vim /etc/motd
中文
转换文件名由GBK为UTF8
sudo apt-get install convmv
convmv -r -f cp936 -t utf8 --notest --nosmart *
转换文件内容由GBK为UTF8
iconv -f gbk -t utf8 $i > newfile
转换 mp3 标签编码
sudo apt-get install python-mutagen
find . -iname “*.mp3” -execdir mid3iconv -e GBK {} /;
控制台下显示中文
sudo apt-get install zhcon
使用时,输入zhcon即可
文件
快速查找某个文件
whereis filenamefind 目录 -name 文件名
查看文件类型
file filename
显示xxx文件倒数6行的内容
tail -n 6 xxx
让tail不停地读地最新的内容
tail -n 10 -f /var/log/apache2/access.log
查看文件中间的第五行(含)到第10行(含)的内容
sed -n '5,10p' /var/log/apache2/access.log
查找包含xxx字符串的文件
grep -l -r xxx .
查找关于xxx的命令
apropos xxx
man -k xxx
通过ssh传输文件
scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上
scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器
下载
到本地
查看某个文件被哪些应用程序读写
lsof 文件名
把所有文件的后辍由rm改为rmvb
rename 's/.rm$/.rmvb/' *
把所有文件名中的大写改为小写
rename 'tr/A-Z/a-z/' *
删除特殊文件名的文件,如文件名:--help.txt
rm -- --help.txt 或者 rm ./--help.txt
查看当前目录的子目录
ls -d */. 或 echo */.
将当前目录下最近30天访问过的文件移动到上级back目录
find . -type f -atime -30 -exec mv {} ../back /;
将当前目录下最近2小时到8小时之内的文件显示出来
find . -mmin +120 -mmin -480 -exec more {} /;
删除修改时间在30天之前的所有文件
find . -type f -mtime +30 -mtime -3600 -exec rm {} /;
查找guest用户的以avi或者rm结尾的文件并删除掉
find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} /;
查找的不以java和xml结尾,并7天没有使用的文件删除掉
find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} /;
统计当前文件个数
ls /usr/bin|wc -w
显示当前目录下2006-01-01的文件名
ls -l |grep 2006-01-01 |awk '{print $8}'
压缩
解压缩 xxx.tar.gz
tar -zxvf xxx.tar.gz
解压缩 xxx.tar.bz2
tar -jxvf xxx.tar.bz2
压缩aaa bbb目录为xxx.tar.gz
tar -zcvf xxx.tar.gz aaa bbb
压缩aaa bbb目录为xxx.tar.bz2
tar -jcvf xxx.tar.bz2 aaa bbb
Nautilus
显示隐藏文件
Ctrl+h
显示地址栏
Ctrl+l
特殊 URI 地址
* computer:/// - 全部挂载的设备和网络
* network:/// -
浏览
可用的网络
* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录
* smb:/// - 可用的 windows/samba 网络资源
* x-nautilus-desktop:/// - 桌面项目和图标
* file:/// - 本地文件
* trash:/// - 本地回收站目录
* ftp:// - FTP 文件夹
* ssh:// - SSH 文件夹
* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装
* themes:/// - 系统主题文件夹
查看已安装字体
在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts
程序
详细显示程序的运行信息
strace -f -F -o outfile
日期和时间
设置日期
#date -s mm/dd/yy
设置时间
#date -s HH:MM
将时间写入CMOS
hwclock --systohc
读取CMOS时间
hwclock --hctosys
控制台
不同控制台间切换
Ctrl + ALT + ←
Ctrl + ALT + →
指定控制台切换
Ctrl + ALT + Fn(n:1~7)
控制台下滚屏
SHIFT + pageUp/pageDown
控制台抓图
setterm -dump n(n:1~7)
数据库
mysql的
数据库
存放在地方
/var/lib/mysql
从mysql中导出和导入数据
mysqldump
数据库
名 > 文件名 #导出
数据库
mysqladmin create
数据库
名 #建立
数据库
mysql
数据库