大家都知道吧,php的黄金搭档是谁吧?当然是lamp了。
学习php当然要学一些这个lamp了,所以首先我们要学一下linux相关的基础知识吧,比如说日常的操作命令(不要说,有那些图形化的东西就不用记这些了,有些东西还是用命令省事的)。好吧,那这次就学一下linux的常见命令。
1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法
2. ls 查看目录或者文件
3. cp 拷贝文件
4. rm 删除文件和目录
5. mv 移走目录或者改文件名
6. cd 改变当前目录 pwd 查看当前所在目录完整路径
7. cat,more命令将某个文件的内容显示出来。
8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename。
9. clear,date命令:clear:清屏,相当与dos下的cls;date:显示当前时间。
10. mount 加载一个硬件设备
11. su 在不退出登陆的情况下,切换到另外一个人的身份
12.who am i,where is,which,id
//whoami:确认自己身份
//whereis:查询命令所在目录以及帮助文档所在目录
//which:查询该命令所在目录(类似whereis)
//id:打印出自己的uid以及gid。(uid: 用户身份为数不多标识。gid:用户组身份为数不多标识。每一个用户只能有一个为数不多的uid和 gid)
13. grep,find
grep: 文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
eg: grep success * /*查找当前目录下面所有文件里面含有success字符的文件
14. kill 可以杀死某个正在进行或者已经是dest状态的进程
15. passwd 可以设置口令
16. history 用户用过的命令
17. !! 执行较近一次的命令
18. mkdir命令
19. tar 解压命令
20. finger 可以让使用者查询一些其他使用者的资料
下面的是一些centos的操作命令集
一:查看cpu
more /proc/cpuinfo | grep model name
grep model name /proc/cpuinfo
如果觉得需要看的更加舒服
grep model name /proc/cpuinfo | cut -f2 -d:
二:查看内存
grep memtotal /proc/meminfo
grep memtotal /proc/meminfo | cut -f2 -d:
free -m |grep mem | awk '{print $2}'
三:查看cpu是32位还是64位
查看cpu位数(32 or 64)
getconf long_bit
四:查看当前linux的版本
more /etc/redhat-release
cat /etc/redhat-release
五:查看内核版本
uname -r
uname -a
六:查看当前时间
date
上面已经介绍如何同步时间了,
七:查看硬盘和分区
df -h
fdisk -l
也可以查看分区
du -sh
可以看到全部占用的空间
du /etc -sh
可以看到这个目录的大小
八:查看安装的软件包
查看系统安装的时候装的软件包
cat -n /root/install.log
more /root/install.log | wc -l
查看现在已经安装了那些软件包
rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
不过很奇怪,我通过rpm,和yum这两种方式查询的安装软件包,数量并不一样。没有找到原因。
九:查看键盘布局
cat /etc/sysconfig/keyboard
cat /etc/sysconfig/keyboard | grep keytable | cut -f2 -d=
十:查看selinux情况
sestatus
sestatus | cut -f2 -d:
cat /etc/sysconfig/selinux
十一:查看ip,mac地址
在ifcfg-eth0 文件里你可以看到mac,网关等信息。
ifconfig
cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep ipaddr
cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep ipaddr | cut -f2 -d=
ifconfig eth0 |grep inet addr: |awk '{print $2}'|cut -c 6-
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
查看网关
cat /etc/sysconfig/network
查看dns
cat /etc/resolv.conf
十二:查看默认语言
echo $lang $language
cat /etc/sysconfig/i18n
十三:查看所属时区和是否使用utc时间
cat /etc/sysconfig/clock
十四:查看主机名
hostname
cat /etc/sysconfig/network
修改主机名就是修改这个文件,同时较好也把host文件也修改。
#查看开机运行时间
uptime
09:44:45 up 67 days, 23:32, ...
:-) ,看来刚才确实是网段的问题,我的机器还是67天前开机的。
#系统资源使用情况
vmstat 1 -s m
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 233 199 778 0 0 4 25 1 1 3 0 96 0 0
0 0 0 233 199 778 0 0 0 0 1029 856 13 1 86 0 0
这个还是专门分一片文章来描述吧
2. 批量替换文件
今天使用svn进行系统迁移,结果发现较初的路径写错了,导致无法访问源服务器,查看 .svn/entries 大致了解了一下里面的内容。重新迁移时间太久了,还是直接把文件替换掉吧
for f in $(find ./ -type f -name 'entries')
do
sed -i s/202\.68\.134\.18/202\.68\.134\.34/g $f
done
sed 简单说明:
sed s/sourcestring/newstring/g $f
把 $f 文件中的 sourcestring 换成 newstring,输出到终端。s 表示搜索替换,/g表示全局。
sed -i $f
表示直接在 $f 中修改。
sed -iback $f
表示修改后的文件另存为 $fback
sed 中所有正则表达式都必须使用严格的转义符 \ 来限定
sed 的正则比较严格: \ / ! 都需要分别用 \ \/ \\ \! 转义。
\n 表示换行
3. shell 变量 字符串操作
mono 跑在linux下时,apache+mod_mono有时候需要加载的 assembly 必须配置在 gac 中,下面是一个脚本完成此功能
cd bin
for f in $(find ./ -name *.dll)
do
gacutil -i $f
done
如果要从 gac 中批量卸载这些 assembly, 可以如下
for f in $(ls *.dll)
do
gacutil -u ${f%%.dll}
done
其中就用到了字符串变量的替换, ${f%%.dll}
${f%%.dll} 的意义为 删除 $f 变量 .dll 及之后的所有内容
关于网页制作相关色彩使用的小知识医药行业网络营销不成功缘故企业网站建设如何体现出企业文化?选择低价做网站公司是优惠,还是营销套路?小程序改变搜索市场 电商类连续两月TOP第一外链发布对seo优化排名究竟有效果吗浅谈企业网站建设中的价格与价值什么是标题标签?