# Linux常用命令 #

来源:互联网 发布:东华软件股份公司官网 编辑:程序博客网 时间:2024/06/08 18:33

1.创建一个目录/data

        mkdir /data        用一条命令创建多层目录            mkdir -p /root/data/yang; -p递归创建目录            

记忆方法: make directory

2.更换当前目录

        cd /data;

记忆方法change directory

3.在/data下面创建一个文件yang.txt

          (1)cd /data                 Touch yang.txt         (2)touch /data/yang.txt

记忆方法 ,touch = 摸一下,

4.为yang.txt 增加内容

        (1)Vi yang.txt        (2)Vim yang.txt

5.查看 cat

        cat yang.txt        cat -n yang.txt            带行号的查询

6.单行或多行字符串打印 echo

        echo ”haha”

新用法:echo {1..10} echo {a..z}

7.将单行多行字符串插入到xin.txt文件末尾 重定向>

        echo “haha” >xin.txt        (>>是追加重定向)        echo “gaga” >> xin.txt

8.复制yang.txt到xin.txt

        cp yang.txt xin.txt

记忆方法:copy

9.移动目录或文件

        mv yang.txt /root

10.打印工作目录

        pwd

记忆方法:print work directory

11.查看目录列表

        ls        ls -l  以长格式显示文件属性        ls -d  显示目录

记忆方法:list

12.命令的帮助 man

        man touch

13.删除文件或目录 rm

        a)删除文件 rm yang.txt        b)删除文件且不加提示 rm -f tang.txt (不常用)        c)删除目录 rm -fr oldboy        d)Xargs rm -f                    (一般不用,一定要用先做备份,cp)        替代方法:            1)mv移动到一个临时目录,回收站            2)Find删除

记忆方法 remove

【14.find 极其重要】

        第一种常用        find /root/data/ -type f |xargs rm -f            管道 |        find /root/data/ -type f -exec rm -f {} \;            -exec 对找到的内容做处理            em -f 具体处理的方法            {} 找到的内容            \;对;号进行转义    

15. .. 上级目录

        .  当前目录         \. 代表点号;

面试题:

一个文件下,除了一个yang.txt的文件不删,其余的全删

        find /root/data -type f ! -name “yang.txt” |xargs rm -f

16.取文件前N行

        Head -2

17.【grep 过滤器(极其重要),把想要的和不想要的分开】

        a)grep “oldboy” test.txt  就要oldboy                Oldboy        b) -v排除 grep -v “oldboy” test.txt 除了oldboy都要              Test            Liyao        c) -B 除了显示当前行,还把前面N行显示出来            i)grep 30 -B 10 test.txt        d)-A除了显示当前行,还把后面N行显示出来            i)grep 20 -A 30 test.txt        e)-C 除了显示当前行,还把前后N行显示出来            i)grep 25 -C 5 test.txt        f)-v 排除                grep -v "h" yang.txt                        把文件中有h的行排除,把其它的行显示出来        g)-i 不区分大小写                grep -i "H" yang.txt                        和上一条效果一样        h)-E 过滤多个字符串                grep -E "M|b" yang.txt                        把包含“M”或者“b”的字符串显示出来

18.*****sed -n ‘/过滤的内容/处理的命令’ 文件名(stream editor 流编辑器)

        -n  取消默认输出        -i  改变文件内容        sed -n ‘/oldboy/d’ test.txt        sed -n '2,8p' test.txt

处理的命令:p print 打印, d delete 删除

*****sed的替换功能

        Sed “s###g” 文件名            Eg:                1)sed “s#e#a#g” test.txt                  2)sed -i “s#e#a#g” test.txt 永久替换        解释:            s:常说的查找并替换,用一个字符串替换成另一个字符串            g:与s联合使用时,便是对当前行全局匹配;

*****sed的读取匹配功能

            sed -i 's#()#\1#g' test.txt                一个括号对应一个\,第二个括号就是\2.

19.yum install tree

20.rpm ivh 包名.rpm

21.查看目录树 tree

22.查看以及定义别名 alias

        a)alias yang=’echo “i am yang”’

23.unalias 取消别名

        a)Unalias yang

24.~ 代表用户的家目录,针对root ~就代表root

25.seq序列=sequence

        1)seq 5 8 打印5 - 8列        2)seq 5 10 50 打印5-50之间等差值是10        3)seq -s “=” 5 8 一行打印5-8 分隔符是”=”            [root@node2 ~]# seq -s "=" 5 5 95            5=10=15=20=25=30=35=40=45=50=55=60=65=70=75=80=85=90=95

26.tail 尾巴 与hand对应

        a)Tail -3 取文件最后三行        b)-f 跟踪一个文件尾部的实时变化

面试题:在一个有100行的文件中选取20-30行的内容

        1)  Head -30 test.txt | tail -11        2)  Set -n ‘20,30p’ test.txt

27.*【awk 一门语言,过滤内容(取列)(非常重要)】

        a)awk '{print $2}' test.txt  显示第二列的数据        b)awk -F ":" '{printf $1"\n"}' /etc/passwd 指定分隔符为“:”的第一列数据, $NF 表示最后一列

面试题:在这种环境下替换所有”test.txt”中的“oldboy”替换成”oldgirl”

        find /root/data/ -type f -name "test.txt" | xargs sed -i "s#oldgirl#haha#g"        find /root/data/ -type f -name "test.txt"  表示找到类型为文件,名字叫test.txt的文件        xargs 表示要对找到的文件进行操作的关键字        sed -i "s#oldgirl#haha#g" 永久替换 -i “s###g”

28.history 调出命令历史记录

29.互传文件

        yum install lrzsz         1)直接打rz 选择上传的文件到linux        2)直接打sz 选择文件下载到windows

30.查看系统版本

        cat /etc/redhat-release

31.查看内核

        uname -r --内核信息        uname -m --32位还是64位        hostname --显示主机名

32.添加账号

        useradd 用户名

33.为用户设置密码

        passwd 用户名

34.查看当前的用户

        whoami

35.角色切换 su

        当前是普通用户,切换到root用户        su - root 一定要加- 表示携带环境变量

36.检查selinux状态

        getenforce

37.设置selinux状态

        settenforce            1) 1:启用            2)0:警告,不启用

38.用户级别

        [root@node1 ~]# tail /etc/inittab          Default runlevel. The runlevels used are:              0 - halt (Do NOT set initdefault to this)              1 - Single user mode               2 - Multiuser, without NFS (The same as 3, if you do not have networking)               3 - Full multiuser mode               4 - unused               5 - X11               6 - reboot (Do NOT set initdefault to this)        id:3:initdefault:            0 -- 代表关机状态            1 -- 代表单用户模式,比如linux root密码忘了,想要找回密码就用这个模式            2 -- 多用户模式,但是不能联网            3 -- 文本模式(工作场景用的就是这种模式)            4 -- 现在还没用            5 -- 桌面模式            6 -- 重启模式        runlevel 查看当前用户级别

39. 修改开机启动项

        查看  chkconfig --list           修改  chkconfig --level 3 atd off        atd -- 服务名

40.关闭防火墙

        1)service iptables stop        2)/etc/init.d/iptables stop

基础正则表达式

        1). --单个任意字符        2)* --重复前面任意0个或多个字符        3).* -- 匹配任意字符 

41.远程登录

        ssh ip地址

42.远程传送文件

        scp 文件 当前身份@目的IP地址:/文件地址

配置主机之间的免密登录

    假如  A 登录 B    (B这里就写IP就行)    在A上操作:    首先生成密钥对        ssh-keygen (提示时,直接回车即可)    再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中        ssh-copy-id B

查看日志文件

    tail -f(-F) 文件 实时回显文件

后台服务管理

    service  --status-all   显示所有的服务    service network status  查看指定服务的状态    service network stop    停止指定服务    service network start   启动指定服务    service network restart 重启指定服务    设置后台服务的自启动配置    chkconfig   查看所有服务器自启配置    chkconfig iptables off  关掉指定服务的自动启动    chkconfig iptables on 开启指定服务的自动启动
0 0
原创粉丝点击