linux基础 命令(老男孩视频命令记录)

编辑网卡:[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 使用状况   

一、直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
二、修改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/binphp

:s/vivian/sky/ 替换当前行第一个 vivian 为 skynode

:s/vivian/sky/g 替换当前行全部 vivian 为 skylinux

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 skynginx

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行全部 vivian 为 skyvim

n 为数字,若 n 为 .,表示从当前行开始到最后一行windows

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 skycentos

:%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 里面某个进程启动时间bash

ps -eo pid,lstart,etime | grep 5176

相关文章
相关标签/搜索