首页 > 代码库 > Linux笔记(1)——不熟悉的命令
Linux笔记(1)——不熟悉的命令
1、网络设置
(1)设置IP地址
配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0
如果有多个网卡则为ifcfg-eth0、ifcfg-eth1.......ifcfg-ethn
内容如下:
DEVICE=eth0
HWADDR=00:0C:29:68:AF:6A
TYPE=Ethernet
UUID=c16679b0-a99a-4495-8e7e-63eae859db7e
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp
(2)设置临时IP
ifconfig eth0 192.168.1.102
重启后会失效
(3)设置dns
/etc/resolv.conf
内容如下:
; generated by /sbin/dhclient-script
nameserver 211.162.66.66
nameserver 211.162.77.77
(4)全局网络配置文件
/etc/sysconfig/network
主要有两个配置项 NETWORKING(网络工作状态)和HOSTNAME(主机名)
修改主机名的话修改HOSTNAME的值即可
内容如下:
NETWORKING=yes
HOSTNAME=besttest
service network restart/start/stop
2、VI编辑器
nyy 复制光标所在的向下n行内容
p在光标处粘贴复制的内容 ndd删除光标所在向下n行的内容
:1,3y 复制第一行到第三行
:1,3d 删除第一行到第三行
:1,3s/str/str_new/g 替换第一行到第三行中的字符串
:1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
:1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
3、创建连接
ln:创建文件链接
Linux中,每一个文件都对应于文件系统上的唯一索引节点
硬链接: 一个文件可以有多个文件名,每一个文件名都是一个硬链接,它们指向目 标文件所在文件系统中的索引节点,硬链接指向的是同一个物理位置,所以同一文件系统中的文件间才能建立硬链接 硬链接可以看做文件别名,所有硬链接都删除时,文件才被真正删除 目录不可以建立硬链接,否则目录遍历会陷入死循环 ln 源文件 硬链接目标文件
软连接:包含目标文件或目录的路径信息 软连接可以跨越文件系统,也可以连接目录 相当于Windows的快捷方式 ln -s 源文件 软连接目录或文件
4、crontab定时任务
crontab [ -u user ] 文件crontab [ -u user ] { -l | -r | -e } 不加-u参数的话,默认是当前用户
-e:执行文字编辑器来设定时程表,内定的文字编辑器是vi。 -r:删除目前的时程表。 -l:列出目前的时程表。
* * * * * sh /opt/lampp/test.sh 表示每分钟执行一次test.sh这个脚本
*/5 * * * * sh /opt/lampp/test.sh 表示每5分钟执行一次test.sh这个脚本
30 21 * * * /usr/local/apache/bin/apachectl restart 表示每晚的21:30重启apache
5、shell
(1)字符串判断
str1 = str2 当两个串有相同内容、长度时为真
str1 != str2 当串str1和str2不等时为真
-n str1 当串的长度大于0时为真(串非空)
-z str1 当串的长度为0时为真(空串)
str1 当串str1为非空时为真
(2)数字的判断
int1 -eq int2 两数相等为真
int1 -ne int2 两数不等为真
int1 -gt int2 int1大于int2为真
int1 -ge int2 int1大于等于int2为真
int1 -lt int2 int1小于int2为真
int1 -le int2 int1小于等于int2为真
(3)文件的判断
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
(4)复杂逻辑判断
-a 与
-o 或
! 非
(5)例子
#!/bin/bash
str=`cat /etc/crontab |grep backup.sh`
if [ $str == "zyh"]
then
echo "crontab contains cat backup.sh"
else
echo "59 23 * * * /root/backup.sh" >> /etc/crontab
fi
cp /opt/lampp/logs/access_log /root/`date +%y%m%d%h%m%s`.log
echo "clear log"
echo > /opt/lampp/logs/access_log
Linux笔记(1)——不熟悉的命令