Linux 常用指令

Linux常用指令

未完待续

指令格式:指令 -选项 参数 
        .代表当前目录 
        ..代表当前目录的父目录
终止命令:Ctrl+C

文件处理命令

· ls

显示目录文件
-list
命令所在路径:/bin/ls
执行权限:所有用户
语法:ls [-ald][文件或目录]
        -a 显示所有文件,包括隐藏文件
        -l 详细信息显示,包括权限
        -d 查看目录属性
        -i 节点,inode,文件的数字标识,每个文件必须有i节点,但是不是一个i节点只对应一个文件,硬链接和源文件有相同i节点
ex: $ls -ld /test    查看目录详细信息 

ex: drwxr-xr-x 2 root root 4096 12-01 20:52 bin
    ①d:文件类型
        d:目录directory
        -:二进制文件
        l:软连接文件link
    ②rwx:
        r:读权限,read
        w:写权限,write
        x:执行,execute
        第一类用户:所有者u(user,owner)
        所有者可以转让
        第二类用户:所属组g(group)
        对组授权相当于对组内所有用户授权
        第三类用户:其他人o(others)
    ③2-硬链接数
    ④root:所有者
    ⑤root:所属组
    ⑥4096:文件大小
        不是准确的数值
        大小通常用数据块block表示,一个数据块是512字节,存储数据的最小单位
    ⑦12-01 20:52:创建时间或最后修改时间
    ⑧bin:文件名或目录名    

· cd

切换目录
-changed directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
ex: $cd /     切换回根目录
    $cd ..    回到上一级目录

· pwd

显示当前所在的工作目录
-print working directiory
命令所在路径:/bin/pwd
执行权限:所有用户
ex: $pwd
    /etc/rc5.d

· touch

创建空文件
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
ex: $touch newfile

·mkdir

创建新目录
-make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir [目录名]
ex: $mkdir newdir

· cp

复制文件或目录
-copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -R [源文件或目录] [目的目录]
     cp -R [复制目录]
     ex: $cp file1 file2 dir1    将文件file1、file2复制到目录dir1
         $cp -R dir1 dir2        将dir1下的所有文件及子目录复制到dir2

· mv

移动文件、更名
-move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [源文件或目录] [目的目录]
ex: $mv file1 file3    将当前目录下文件file1更名为file3
    $mv file2 dir2     将文件file2移动到目录dir2下

· rm

删除文件,rmdir,删除空目录
-remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm -r [文件或目录]
        -r 删除目录,会层级确认文件
        rm -rf  file 不确认,直接删除目录
ex: $rm file3      删除文件3
    $rm -r dir1    删除目录dir1

· cat

显示文件内容,不能完整显示较长文件
-concatenate and display files
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
ex: $cat /etc/issue

· more

分页显示文件内容
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]
     空格或f  显示下一页
     Enter   显示下一行
     q/Q     退出 
ex: $more /etc/services

· head

查看文件的前几行
命令所在路径:/bin/head
执行权限:所有用户
语法:head -num [文件名]
          -num 显示文件的前num行
ex: $head -20 /etc/services

· tail

查看文件的后几行
命令所在路径:/bin/tail
执行权限:所有用户
语法:tail -num [文件名]
          -num 显示文件的后num行
          -f 动态显示文件内容,比如说动态显示日志文件
ex: $tail -30 /etc/services

· ln

产生链接文件
-link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [源文件] [目标文件]
        -s 创建软连接
ex: $ln -s /etc/issue /issue.soft    创建文件/etc/issue的软连接/issue.soft
    $ln /etc/issue /issue.hard       创建文件/etc/issue的硬链接/issue.hard

    软链接:文件权限都是lrwxrwxrwx --> 指向源文件,时间值是创建软链接文件的时间值,类似于快捷方式,可以跨文件系统生成
    硬链接:类似于拷贝=cp -p +同步更新,不过时间值不同,与源文件i节点相同,不能跨文件系统(分区),无效的跨设备连接
    (拷贝时cp -p时间值不发生改变)

权限管理命令

· chmod

改变文件或目录权限
-change the premissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugo} {+-=} {rwx}] [文件或目录] [mode=421] [文件或目录]

        用户分三种类型:u,g,o
        r-4  读权限    可以查看文件内容  可以列出目录中的内容,可以cat,more,head,tail
        w-2  写权限    可以修改文件内容  可以在目录中创建、删除文件,有写权限不代表有删除权限,可以echo,vi,删除文件必须要求目录有w权限
        x-1  执行权限  可以执行文件     可以进入目录,命令,脚本可执行

        目录的r权限:可以ls
        目录的w权限:可以创建,删除权限,可以touch,mkdir,rm
        目录的x权限:可以进入目录,cd,通常目录都有rx权限
        rwxr-xr--     754
ex: $chmod g+w file1    赋予文件file1所属组写权限
    $chmod 777 dir1     设定目录dir1为所有用户具有全部权限

· chown

改变文件或目录的所有者
-change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
ex: $chown nobody file1    改变文件file1的所有者为nobody(系统自带账号)
更改的用户必须是系统中存在的用户
添加用户:#useradd 用户名
        #passwd 用户名

· chgrp

改变文件或目录的所属组
-change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
ex: $chgrp adm file1    改变文件file1的所属组为adm

· umask

显示、设置文件的缺省权限(touch之后即是默认权限),不建议改变
    linux基本权限规则:缺省创建的文件不能授予可执行权限,基本安全机制
命令所在路径:/bin/umask
执行权限:所有用户
语法:umask [-S]
        -S 以rwx形式显示新建文件或目录缺省权限,否则是数字形式
ex: $umask
        0022
        0-特殊权限位
        022-用户权限位,权限掩码值(777-022)
        更改的时候要用掩码值
        $umask 027
        $umask -S 
        u=rwx,g=rx,o=

文件搜索命令

· whereis

显示文件所在目录,帮助文档的位置
语法:which [名称]

· which

显示系统命令所在目录,绝对路径(命令也是文件),同时显示别名目录
命令所在路径:/usr/bin/which
执行权限:所有目录
语法:which [命令名称]
ex: $which ls
        alias ls='ls --color=tty'(用颜色标记)
        /bin/ls

· find

查找文件或目录,尽量不要在根目录下查找,速度慢,占用大量系统资源,尽量缩小查找范围
命令所在路径:/usr/bin/find
执行权限:所有用户
语法:find [搜索路径] [搜寻关键字]
    -name 根据文件名进行查找
        *匹配任意字符,包括0个字符(init*  以init开头的文件)
        ?匹配单个字符(init???  查找init开头的7个字符的文件)

    -size 根据文件大小查找,block数据块,512字节,根据数据块写文件大小,100MB=102400KB=204800block
        大于:+ $find / -size +204800
        小于:-
        等于:$find / -size 204800

    -user 根据文件所有者查找
        ex: $find /home -user samlee

    -type 根据文件类型查找
        f 二进制文件
        l 软链接文件
        d 目录

    -inum 根据i节点查找
        根据i节点查找(假设说要删除特殊文件名,比如说a b或者-abc,删除时系统会默认指令$rm a b 系统会认为要删除a和b两个文件,虽然可以用转义字符,$rm -- -abc rm "a b"删除但是不方便可以用i节点删除
        $find . -inum 16
        $find . -inum 16 -exec rm {} \;可以删除i节点为16的文件

    -ctime/atime/mtime/cmin/amin/mmin
        根据时间查找ctime、atime、mtime(按天为单位查找);cmin、amin、mmin(按分钟为单位查找,用得多)
        c-change 改变,文件属性被修改(ls-l)
        a-access 访问
        m-modify 修改,文件内容被修改
        -之内 -1:一天之内
        +超过
        ex: $find /etc -mmin -120 在120分钟内被改过的文件

    连接符-a and 逻辑与
        -o or 逻辑或,只要满足一个条件就可以

    连接符-exec 可以在查找之后直接进行处理
        $find .....-exec 命令 { } \;
        {}:表示前面find查询到的结果
        \:转义符,符号命令使用本身的含义,\rm testfile 即实现命令本身含义,(rm alias rm='rm -i',会默认询问,如果用转义符就不再询问)
        ex: $find /home -user samlee -exec rm -rf {} \;查找samlee创建的所有文件并不确认删除
            $find /etc -name inittab -ok rm {} \;查找文件并确认删除,防止删除重要文件

        ex: $find /etc -name init    在目录/etc中查找文件init(和Windows不同,Windows会查找所有包含的文件)    
            $find / -size +204800    在根目录下查找大于100MB的文件
            $find / -user sam    在根目录下查找所有者为sam的文件
            $find /etc -ctime -l    在/etc下查找24小时内被修改过属性的文件和目录
            $find /etc -size +163840 -a -size -204800    在/etc下查找大于80MB小于100MB的文件
            $find /etc -name inittab -exec ls -l {} \;    在/etc下查找inittab文件并显示其详细信息

· locate

寻找文件或目录,linux特有命令,速度比find快,但是有的可能locate找不到,locate配合updatedb检索,如果文件数据库未更新可能locate找不到
-list files in databases
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate [搜索关键字]
ex: $locate file    列出所有和file相关的文件

· updatedb

建立整个系统目录文件的数据库,可以定期更新数据库
-update the slocate database
命令所在路径:/usr/bin/updatedb
执行权限:updatedb
ex: #updatedb

· grep

在文件中搜寻字串匹配的行并输出
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep [指定子串] [源文件]
ex: #grep ftp /etc/services

帮助命令

· man

获得帮助信息,只能是配置文件的名称会优先查看命令的帮助,第一种是命令的帮助,第五种是配置文件,如man 5 passwd 即查看配置文件的帮助
-manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法:man [命令或配置文件]
ex: $man ls    查看ls命令的帮助信息

· info

获得帮助信息
-information
命令所在路径:/usr/bin/info
执行权限:所有用户
语法:info [任何关键字]
ex: $info ls    查看ls指令的帮助信息

· whatis

获得索引的简短说明信息
-search the whatis database for strings
命令所在路径:/usr/bin/whatis apropos
            /usr/sbin/makewhatis
执行权限:所有用户
语法:whatis apropos [任何关键字]
ex: $whatis ls
    $apropos fstab   相当于man -k
    #makewhatis      建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database没有建立
    --help
        查看帮助信息
        $ls --help
    apropos 
        查看配置文件信息
        $apropos fstab
        类似man -k 不过会较多  
help查看shell内置命令的帮助,其他的方式不行

压缩解压命令

· gzip

压缩文件,不能压缩目录,不保留原文件,压缩后文件格式:.gz
-GNU zip
命令所在路径:/bin/gzip
执行权限:所有用户
语法:gzip [选项] [文件]

· gunzip

解压缩.或gzip -d,解压gz的压缩文件
-GNU unzip
命令所在路径:/bin/gunzip
执行权限:所有用户
语法:gunzip [选项] [压缩文件]
ex: $gunzip file1.gz

· tar

打包目录
命令所在路径:/bin/tar
执行权限:所有目录
语法:tar [c/v/f] [目录]
    (压缩语法)  
        -c  (create)产生.tar打包文件
        -v  显示详细信息
        -f  必要选项,制定压缩后的文件名
        -z  打包同时压缩
    (解压缩语法)
        -x  解包.tar文件
        -v  显示详细信息
        -f  制定解压文件
        -z  解压缩         
        可以用file 判断文件类型
ex: $tar -zcvf dir.tar.gz dir1    将目录dir1压缩成一个打包并压缩的文件,有的Linux可能不支持打包同时压缩
    $tar -zxvf dir1.tar.gz

· zip

压缩文件或目录,Windows和Linux共同支持的文件格式,保留原文件,压缩后文件格式.zip
命令所在路径:/usr/bin/zip
执行权限:所有用户
语法:zip [选项] [压缩后文件名称] [文件或目录]
            -r  压缩目录
ex: $zip services.zip /etc/services    压缩文件
    $zip -r test.zip /test    压缩目录

· unzip

解压.zip的压缩文件
命令所在路径:/usr/bin/unzip
执行权限:所有用户   
ex: $unzip test.zip

· bzip2

压缩文件,压缩后文件格式.bz2
命令所在路径:/usr/bin/bzip2
执行权限:所有用户
语法:bzip2 [选项] [文件]
        -k   产生压缩文件后保留原文件
        $bzip2 -k file1

· bunzip2

    解压缩
    命令所在路径:/usr/bin/bunzip2
    执行权限:所有用户
    语法:bunzip [选项] [压缩文件]
                -k   解压缩后保留原文件
    ex: $bunzip2 -k file1.bz2

网络通信指令

· write

向另外一个用户发信息,以Ctrl+D作为结束,实时
指令所在路径:/usr/bin/write
执行权限:所有用户
语法:write <用户名>
ex: $write webmaster

· wall

向所有用户广播信息
-write all
命令所在路径:/usr/bin/wall
执行权限:所有用户
语法:wall [message] [文件名]
ex: $wall Happy New Year!

· ping

测试网络连通性,只要不按Ctrl+C终止会一直Ping下去,但是不是可以得到网络包就证明正常,要注意丢包率和延时情况。指定次数:Ping -c 3 ip(3次)
命令所在路径:/usr/sbin/ping
执行权限:root
语法:ping [选项] [IP地址]
                    -c 次数
                    -s 改变大小
ex: #ping 192.168.1.1

· ifconfig

    查看网络设置信息
    命令所在路径:/usr/sbin/ifconfig
    执行权限:root
    语法:ifconfig [选项] [网卡设备标识]
                    -a 显示所有网卡信息
    ex: #ifconfig -a
    改变ip地址:ifconfig eth0 +ip,但是命令行更改只是在此次会话中生效,重启之后不会发生变化。

系统关机命令

· shutdown

    关机
    命令所在路径:/usr/sbin/shutdown
    执行权限:root
    语法:shutdown
    ex: #shutdown -h now(现在关机,最好不要在服务器中使用,如果要使用最好先广播,再延时关机)

· reboot

    重启系统
    命令所在路径:/usr/sbin/reboot
    执行权限:root
    ex: #root

小技巧

shell 种类
/bin/bash,Linux默认
/bin/sh,较老的系统
clear清屏(Ctrl + L)
Ctrl+U删除命令行光标之前所有的字符
histroy 显示所有命令,!+命令序号,可以执行过去执行的命令

查看别名信息:alias
删除别名:unalias copy
ex: alias copy=cp
    alias xrm="rm -r"

输入输出重定向
0 STDIN 标准输入,standard in
1 STDOUT 标准输出,standard out
2 STDERR 标准错误输出,standard error
输出重定向(0> 0>>):ls -l /tmp > /tmp.msg(覆盖写)
                data >> /tmp.msg(追加写)
输入重定向(1< 1<<):wall < /etc/motd(从文件导入内容)
错误重定向:cp -R /usr/backup/usr.bak 2> /bak.error(如果出错就把错误信息存到bak.error文件中,2>表示储存错误信息,如果未出错,错误日志为空,2表示错误)

管道:将一个命令的输出传送给另一个,命令,作为另一个命令的输入。
使用方法:命令1|命令2|命令n
ls -l /etc | more (分页浏览前面命令的执行结果)
ls -l /etc | grep init | wc -l(查看/etc下包含init的行数,wc:行数)

命令链接符:
; 依次执行:pwd  ; ls ; date(系统计划任务,可以让命令后台自动执行,可以编译并执行)
&& 逻辑与:command1 && command2(成功 执行/失败 不执行)
write Mary < /home/samlee/love.txt && rm /home/samlee/love.txt
|| 逻辑或:第一个成功第二个不执行,第一个不成功才执行第二个

命令替换:将一个命令的输出作为另一个命令的参数
格式:命令1 `命令2`
ex: ls -l `which touch`

新建

新建文件夹
[root@localhost /]# mkdir 文件夹名
新建文本文件
[root@localhost /]# vim 文件名

(或者用nano,vi等文本编辑器打开也可)

删除

删除文件
[root@localhost /]# rm -f 文件名
删除文件夹(向下递归删除)
[root@localhost /]# rm -r 文件夹名

连接服务器

[root@localhost /]# ssh 用户名@x.x.x.x

向服务器上传文件

[root@localhost /]# scp 本地文件路径 用户名@x.x.x.x:目录名

从服务器上下载文件

[root@localhost /]# scp 用户名@x.x.x.x:目录名 本地文件路径

用户操作

添加用户
这里写代码片
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值