说明:
/ 根目录
/bin 存放内核以及启动所需的文件
/dev 在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,通过访问这些文件可以访问到相应的设备
/etc 存放系统配置文件
/home 普通用户的宿主目录,用户数据存放在其主目录中
/lib 存放必要的运行库
/mnt 存放临时的映射文件系统,通常用来挂载使用
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/sbin 存放系统管理程序
/tmp 存放临时文件
/usr 存放应用程序,命令程序文件、程序库、手册和其它文档
/var 系统默认日志存放目录
常用命令:
[root@local_host~]#,其中#代表当前是root用户,$代表当前是普通用户
cd [路径] :去往[路径]目录;cd / 返回根目录;cd ~ 返回当前用户目录;cd? ../ 返回上一级目录;cd ./ 当前目录
ls:查看当前目录;ls ./ 查看当前目录所有的文件和目录;ls -a查看所有的文件,包括隐藏文件,以.开头的文件。
ll:查看当前目录(详细信息:权限,创建时间,大小等)
pwd:查看当前所在目录
mkdir:创建目录;创建多级目录加-p
rmdir:删除空目录;rm:删除目录或者文件,用法rm -rf [文件夹/文件名](-r表示递归,-f表示强制)
cp:拷贝文件;用法cp [待拷贝文件名] [新文件名],如果是目录,需要加参数-r
mv:重命名或者移动文件/目录,用法mv old.txt new.txt
touch:创建文件,用法touch text.txt 如果文件存在,则表示修改当前文件时间
useradd:创建用户;userdel:删除用户
groupadd:创建组;groupdel:删除组
find:查找文件或目录,用法find /home -name “test.txt”;find后接查找的目录,-name指定需要查找的文件名称,名称可以使用*表示所有。find /home -name “*.txt”查找/home目录下所有以.txt结尾的文件或者目录。
vi:修改某个文件,vi有三种模式:命令行模式、文本输入模式、末行模式
默认vi打开一个文件,首先是命令行模式,然后按i进入文本输入模式,可以在文件里编辑内容;写完后,按ESC进入命令行模式,然后输入:进入末行模式,如输入:wq表示保存退出,输入:q!表示不保存退出。
cat:查看文件内容(全部查看)
more:查看文件内容(分页查看);以上可以同时使用,如cat test.txt | more,分页显示text内容,|是管道符,用于把|前的输入作为后面的命令输入。
echo:回显,输入什么就打印什么;echo ok >test.txt 把ok字符覆盖test.txt内容,>表示追加并覆盖;>>表示追加;
权限:
chmod
网络:
Linux服务器默认网卡配置文件在/etc/sysconfig/network-scripts/下,命名的名称一般为ifcfg-eth0、ifcfg-eth1,eth0表示第一块网卡,eth1表示第二块网卡,依次类推。
修改网卡的IP,可以使用命令:vi /etc/sysconfig/network-script/ifcfg-eth0,如下这里配置是dhcp自动获取的,可以修改为静态的,修改参数如下
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.169.1.10
网卡参数详解如下:
DEVICE=eth0??? #物理设备名
ONBOOT=yes??? #[yes|no](重启网卡是否激活设备)
BOOTPROTO=static? #[none|static|bootp|dhcp](不适用协议|静态分配|BOOTP协议|DHCP协议)
TYPE=Ethernet?? #网卡类型
IPADDR=192.168.1.2?? #IP地址
NETMASK=255.255.255.0?? #子网掩码
GATEWAY=192.169.1.10??? #网关地址
配置完成后重启网卡:/etc/init.d/network restart
ifconfig命令查看当前服务器所有网卡的IP。单独指定某一张网卡,ifconfig eth0
网卡配置完毕,若配置DNS,vi /etc/resolv.conf,添加如下两条,配置完成后不需要重启网卡,DNS立即生效
nameserver 202.106.0.20?? #主DNS
nameserver 8.8.8.8???????????? #备DNS
常见Linux远程工具,putty、secureCRT、xshell、xmanger等。
ssh远程时乱码:# LANG=UTF-8
ps 查看系统进程? ps aux / ps -elf
netstat -lnp??查看当前系统开启的端口以及socket netstat -an??查看当前系统所有的连接
top监控系统状态 每3秒一次
查看cpu的个数和核数 vmstat??1 vmstat 1 10
ifconfig 网卡信息
查看服务器外网IP:
curl ifconfig.me
curl ifconfig.me/all?
查看挂载:
cat /etc/fstab
df -h
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享
stty size???????? #查看命令行的行和列数限制
stty columns 500? #设置命令行的列数
stty rows 200???? #设置命令行的行数
centos6修改主机名:
hostname kevin-web01
vim /etc/sysconfig/network
vim /etc/hosts
查看登录的用户:who
踢掉登录的用户:ps -ef|grep pts/3
磁盘空间:
df -h 显示已经挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)
==================vim快捷键==================
gg? 光标跳到第一行
nG? 光标跳到第n行。也可以在尾行模式下输入:n? 回车即可
G?? 光标跳到最后一行
o? 光标跳到当前所在行的下一行
O? 光标跳到当前所在行的上一行
yyp? 复制当前所在行的内容到下一行
yyP? 复制当前所在行的内容到上一行
dd ??? 删除当前所在行
ndd?? 删除当前以下n行
shift + v ? 选中行区域
ctrl+ v ?? 选中列区域
命令行模式下按键^??? 跳到行首,相当于home键
命令行模式下按键$??? 跳到行尾,相当于end键
命令行模式下按键u??? 撤销
命令行模式下按键r??? 恢复
尾行模式下输入:%s /m/n/g ?? 替换文件中所有行中的m字符为n字符
尾行模式下输入:s /m/n/g ??? 替换光标所在行的m字符为n字符
rar包解压:tar zxvf rarlinux-3.8.0.tar.gz
rar x www.rar????????? // 解压成www目录
unrar -e www. tar ?????? // 解压出来的是www目录下的文件,而不是直接的www目录
1)新建用户test,密码test,另外添加usertest组
[root@kevin-test ~]# useradd test
[root@kevin-test ~]# echo "test" | passwd --stdin test
[root@kevin-test ~]# groupadd usertest
查看192.168.10.0 /24 网段的机器启用情况
[root@redis-new01 ~] #? nmap -sn 192.168.10.0/24???
设置系统环境变量
1)在终端命令行下设置,这是临时设置。服务器重启后就失效了。比如export PATH=$APTH:/usr/local/mysql/bin
2) 在/etc/profile文件里设置,这是永久性设置。比如
[root@redis-new01 ~]# vim /etc/profile
.....
export PATH=$APTH:/usr/local/mysql/bin
[root@redis-new01 ~]# source /etc/profile
需要注意的是:
在/etc/profile里设置系统环境变量时,路径末尾不能以"/"结尾,否则将导致整个PATH变量出错。
cat /etc/issue 查看系统版本
cat /etc/redhat-release 查看系统版本
getconf LONG_BIT 查看系统的位数(32bit or 64bit)
arch 显示机器的处理器架构
uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS
echo 1 >/proc/sys/vm/drop_caches 手动释放缓存
echo 1 >/proc/sys/net/ipv4/ip_forward 打开ip路由转发功能
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 禁止ping(禁止别人ping本机ip)
ntpdate us.pool.ntp.org 在线更新系统时间
关机:
shutdown -h now 关闭系统
init 0 关闭系统
init 6 重启系统
telinit 0 关闭系统
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启
poweroff 关机
reboot 重启
logout 注销
文件操作:
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
iconv -l 列出已知的编码
-------文件搜索:
find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
打包压缩文件:
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
备份:
备份
dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份
dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav --delete /home /tmp 同步两边的目录
rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作
dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件
tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录
tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容
|