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 使用情况   

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

 

转载于:https://my.oschina.net/u/1266221/blog/753598

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值