编辑网卡:[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
安装补丁:yum install tree nmap sysstat lrzsz dos2unix -y
ls -lrt 是按最近修改的时间排序
rt 是指最近修改的时间
-i 显示文件索引节点号(inode)。一个索引节点代表一个文件;
-h –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
cd 切换路径
cat 查看文件 -n 显示行
pwd 显示当前路径、
whoami 显示当前登录用户
vi 按shift+g 直接跳到文件的结尾
mkdir 创建目录 ,
mkdir -p test2/test22( 递归创建多个目录 )
实例3:创建权限为777的目录
命令:
mkdir -m 777 test3
cp 拷贝文件或者目录,(-r 拷贝目录 -p保持属性) -a(drp)
mv 移动文件 有危险的命令
rm 删除文件或者目录 -f 强制删除 -r 删除目录
rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件、文件夹
rmdir 删除空目录
grep 三剑客之一 老三 专门过滤字符串 过滤出或者过滤掉 -v(过滤掉,就是排除掉) -i 不区分大小写 -n 过滤的内容打印行号,-E 过滤多个字符串"a|b|c"
egrep = grep -E
head 查看文件的头部 -n 查看前多少行 默认是10行
tail 查看文件的尾部 -n 查看前多少行 默认是10行
1. tail -f /var/log/messages 查看日志文件的变化
2. tail -F /var/log/messages
3. tailf /var/log/messages
sed (stream editor 是流编辑器)三剑客之一 老二 功能强大 ,文件的增删改查,字符的过滤
sed -i s#tt#bb#g test.txt ###把test.txt文件中tt替换成bb
tree 查看目录树,目录结构
alias 查看系统的别名
unlias 取消系统的别名
xargs 配合find/ls 结果,做进一步处理,把find的结果一个个的交给后面的命令处理
find 查找 -type 文件类型 -name 名称找 -exec 执行命令
find . -name .svn | xargs rm -rf
seq (sequence是序列)输出一个数字序列。seq -s "" 10 -s是指定分割符
-i:直接修改读取的文件内容,而不是输出到终端
ejecj 弹出光驱,查找物理主机的位置
ifconfig 查看以及更改IP等设置
ifup 启动网卡 ifup eth0
ifdown 关闭网卡 ifdown eth0 (重启网络 /etc/init.d/network restart)
useradd 添加用户 也可以用adduser
passwd 为用户设置密码 --stdin 非交互式设置密码
id 查看用户
su 切换用户 - 切换用户角色更改对应环境变量
less 一点一点查看文件 -N 显示行
vimdiff 比较两个文件
wget 下载文件
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可(注意:生产环境中一般不能随便重启机器)
setenforce 更改selinux状态
setenforce 0 #设置SELinux 成为permissive模式
setenforce 1 设置SELinux 成为enforcing模式
getenforce 也可以用这个命令检查
runlevel 查看linux当前运行级别
init 切换linux运行级别
chkconfig 管理开启启动服务
tar
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
x 从档案文件中释放文件。相当于拆包。
t 列出档案文件的内容,查看已经备份了哪些文
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
-v :压缩的过程中显示文件!这个常用
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
/etc/init.d/iptables status 会得到一系列信息,说明防火墙开着。
/etc/init.d/iptables stop 关闭防火墙
service iptables restart 重启iptables
/etc/init.d/iptables restart 重启iptables
1.重启后永久性生效:
开启:chkconfig iptables on
关闭:chkconfig iptables off
2. 即时生效,重启后失效:
开启:service iptables start
关闭:service iptables stop
vi 后 set nu 可以显示行号
1.跳到文本的最后一行:按“G”,即“shift+g”
2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。
3.跳到第一行的第一个字符:先按两次“g”,
4.跳转到当前行的第一个字符:在当前行按“0”。
5 输入nG,代表跳转到第n行,如79G,就跳转到第79行 G=shift+g
系统优化,远程ssh连接安全控制
Port 52113 (注意修改端口后,如果没有关闭防火墙,需要在防火墙开放所修改的端口)
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no
/etc/init.d/sshd restart
sudo 让一个用户执行本来自己没有的命令
[liuwei@centos6 root]$ sudo ls
[sudo] password for liuwei:
visudo 或者 vi /etc/sudoers 在第98行下面加入
root ALL=(ALL) ALL
liuwei ALL=(ALL) /bin/ls ,/bin/cat //这个是给liuwei这个用户 添加 /bin/ls ,/bin/cat 这两个命令的执行权限
which 查看命令的路径
[liuwei@centos6 root]$ sudo cat
[sudo] password for liuwei:
如:which cat
[liuwei@centos6 root]$ which cat
/bin/cat
whereis 查看命令,帮助 -b查看二进制命令
[liuwei@centos6 root]$ whereis -b cat
cat: /bin/cat
HISTSIZE=5 命令行的记录数量
HISTFILESIZE=10 历史文件的记录数量
TMOUT=10 连接超时时间
解决中文问题
[liuwei@centos6 ~]$ vi /etc/sysconfig/i18n
改成这个
LANG=zh_CN.UTF-8
[liuwei@centos6 ~]$source /etc/sysconfig/i18n
符号:
>> 和1>> 追加重定向 作用:把文件追加到文件结尾
> 和 1> 重定向 作用:把文件内容全部清空了
同步互联网时间
ntpdate time.ntp.org
自动时间同步:
需要配置/etc/crontab文件,实现自动执行任务
让linux从time.windows.com自动同步时间
vi /etc/crontab
加上一句:
00 0 1 * * root ntpdate -s time.windows.com
time.nist.gov 是一个时间服务器.
ulimit -n 文件描述符
怎么调整
vim /etc/security/limits.cof
把下面一句加到文件的最后一行
* - nofile 65535
或者:
ech0 '* - nofile 65535' >> /etc/security/limits.cof
Linux内核参数修改方法
首先打开/etc/sysctl.conf文件,查看如下两行的设置值,这里是:
kernel.shmall = 2097152
kernel.shmmax = 4294967295 如果系统默认的配置比这里给出的值大,就不要修改原有配置。同时在/etc/sysctl.conf文件最后,添加以下内容:
fs.file-max = 6553600
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
这里的“fs.file-max = 6553600”其实是由“fs.file-max = 512 * PROCESSES”得到的,我们指定PROCESSES的值为12800,即为“fs.file-max =512 *12800”。
sysctl.conf文件修改完毕后,接着执行“sysctl -p”使设置生效。
[root@centos6 ~]# > /etc/issue 隐藏系统的版本信息
[root@centos6 ~]#
[root@centos6 ~]# chattr +i /etc/passwd /etc/shadow 给这个两个文件加上锁
[root@centos6 ~]# useradd liu
useradd: cannot open /etc/passwd
[root@centos6 ~]# chattr -i /etc/passwd /etc/shadow 给这个两个文件加解锁
[root@centos6 ~]# useradd liu
[root@centos6 ~]# chattr -i /etc/passwd /etc/shadow 把这个加锁命令移动一下【因为大家都知道这个是解锁的命令】
-bash: /usr/bin/chattr: 没有那个文件或目录
[root@centos6 ~]# mv /usr/bin/liuwei /usr/bin/chattr
挂载:所有设备都必须挂载才能使用,挂载就是为要访问的设备提供一个入口
挂载点:设备的入口就是挂载点
如何挂载:
mount 文件系统类型 | 设备 挂载点
mount /dev/cdrom /mnt
[root@centos6 ~]# echo 'this is 192.168.6.133' > /etc/motd 自定义欢迎界面
Ctrl+a:把光标移到行首。
Ctrl+e:把光标移到行尾。
Ctrl+l:清除终端。该快捷操作与在命令行键入clear作用相同。
Ctrl+d:从Shell提示中注销并关闭,使用该快捷键就不必键入exit。
Ctrl+u:清除当前行。假如在命令行下工作,使用这一快捷操作可以清除从光标处到行首的字符。
Ctrl+K:删除从光标到行末所有字符。
rpm
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包
rpm -q samba //查询程序是否安装
df -h 查看当前的系统容量信息
-i 查看inodes 使用情况
1、直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
2、修改profile文件:
#vi /etc/profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
3. 修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:
date 查看时间
date -s "2015/12/12 10:10:10" 把当前时间修改成 "2015/12/12 10:10:10"
nl nginx.conf 查看文件 并且显示行数
ps -ef | grep nginx 查看进程
netstat -apn 查看端口是被哪个应用程序使用
netstat -apn | grep tcp
stat 查看文件信息 后面直接跟文件名
halt ,shutdown -h now 关机
reboot,shutdown -r 重启
如何看额定值:
cat /proc/cpuinfo
cat /proc/meminfo
du 查看文件或文件夹大小
[root@bsso yayu]# du -h --max-depth=1 work/testing
27M work/testing/logs
35M work/testing
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
8.0K work/testing/func.php
27M work/testing/logs
8.1M work/testing/nohup.out
8.0K work/testing/testing_c.php
12K work/testing/testing_func_reg.php
8.0K work/testing/testing_get.php
8.0K work/testing/testing_g.php
8.0K work/testing/var.php
假设last -n 5的输出如下
[root@www ~]# last -n 5 <==仅取出前五行
root pts/1 192.168.1.100 Tue Feb 10 11:21 still logged in
root pts/1 192.168.1.100 Tue Feb 10 00:46 - 02:28 (01:41)
root pts/1 192.168.1.100 Mon Feb 9 11:41 - 18:30 (06:48)
dmtsai pts/1 192.168.1.100 Mon Feb 9 11:41 - 11:41 (00:00)
root tty1 Fri Sep 5 14:09 - 14:10 (00:01)
如果只是显示最近登录的5个帐号
#last -n 5 | awk '{print $1}'
root
root
root
dmtsai
root
如果只是显示/etc/passwd的账户
#cat /etc/passwd |awk -F ':' '{print $1}'
root
daemon
bin
sys
这种是awk+action的示例,每行都会执行action{print $1}。
-F指定域分隔符为':'。不指定默认是以空格分隔的
# vi fdfs_trackerd
使用vi查找替换命令进统一修改:%s+/usr/local/bin+/usr/bin
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
查看那个进程占用了xxx端口
lsof -i:xxx
查看进程号为xxx的进程在哪里
ps -ef|grep xxx
netstat -antup|grep PID号 来查询该目标端口的开放情况!
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
echo 1 > /proc/sys/vm/drop_caches
释放完内存后改回去让系统重新自动分配内存。
echo 0 >/proc/sys/vm/drop_caches
free -m #看内存是否已经释放掉了。
如果我们需要释放所有缓存,就输入下面的命令:
echo 3 > /proc/sys/vm/drop_caches
查看linux 里面某个进程启动时间
ps -eo pid,lstart,etime | grep 5176