• 常用Linux命令


    常用文件操作:编辑vi/vim,移动mv,删除rm,新建文件touch,上传文件rz,保存文件sz,新建目录mkdir

    1.创建文件目录

    语法:

    mkdir [-p] dirName

    举例:

    在工作目录下,建立一个名为 AAA 的子目录 :

    mkdir AAA

    在工作目录下的 test 目录中,建立一个名为 Test 的子目录。 若test 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本test目录不存在,则产生错误。)

    2.进入目录(dirName:要切换的目标目录。)

    cd [dirName]

    实例:

    跳到自己的 home 目录 :

    cd ~

    3.列出所有子目录

    ls

    4.返回上一级目录

    cd ../

    5.返回上上级目录

    cd ../..

    6.编辑文件

    Linux ed命令是文本编辑器,用于文本编辑。

    ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。

    ed命令并不是一个常用的命令,一般使用比较多的是vi 指令。但ed文本编辑器对于编辑大文件或对于在shell脚本程序中进行文本编辑很有用。

    cat是查看,不能编辑。

    实例:

    $ ed              <- 激活 ed 命令 
    a                 <- 告诉 ed 我要编辑新文件 
    My name is Titan. <- 输入第一行内容 
    And I love Perl very much. <- 输入第二行内容 
    .                 <- 返回 ed 的命令行状态 
    i                 <- 告诉 ed 我要在最后一行之前插入内容 
    I am 24.          <- 将“I am 24.”插入“My name is Titan.”和“And I love Perl very much.”之间 
    .                 <- 返回 ed 的命令行状态 
    c                 <- 告诉 ed 我要替换最后一行输入内容 
    I am 24 years old. <- 将“I am 24.”替换成“I am 24 years old.”(注意:这里替换的是最后输的内容) 
    .                 <- 返回 ed 的命令行状态 
    w readme.text     <- 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可) 
    q                 <- 完全退出 ed 编辑器 

    这是文件的内容是:

    $ cat readme.text 
    My name is Titan. 
    I am 24 years old. 
    And I love Perl vrey much. 

    7.pwd 命令来显示当前目录的绝对路径

    [root@localhost ~]# pwd

    8.打印输出文件

    cat 命令用于连接文件并打印到标准输出设备上。

    cat [-AbeEnstTuv] [--help] [--version] fileName
    -n 或 --number:由 1 开始对所有输出的行数编号。
    
    -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
    
    -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
    
    -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
    
    -E 或 --show-ends : 在每行结束处显示 $。
    
    -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
    
    -A, --show-all:等价于 -vET。
    
    -e:等价于"-vE"选项;
    
    -t:等价于"-vT"选项;

    实例:

    把 textfile1 的文档内容加上行号后 输入 textfile2 这个文档里:textfile2的文件内容变化

    cat -n textfile1 > textfile2

    把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

    cat -b textfile1 textfile2 >> textfile3

    清空 /etc/test.txt 文档内容:

    cat /dev/null > /etc/test.txt

    9.辨识文件类型

    file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
    -b  列出辨识结果时,不显示文件名称。
    -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
    -f   <名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
    -L  直接显示符号连接所指向的文件的类别。
    -m   <魔法数字文件>  指定魔法数字文件。
    -v  显示版本信息。
    -z  尝试去解读压缩文件的内容。
        [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
    -i   显示MIME类别

    实例:

    [root@localhost ~]# file install.log
    install.log: UTF-8 Unicode text
    
    [root@localhost ~]# file -b install.log      <== 不显示文件名称
    UTF-8 Unicode text
    
    [root@localhost ~]# file -i install.log      <== 显示MIME类别。
    install.log: text/plain; charset=utf-8
    
    [root@localhost ~]# file -b -i install.log
    text/plain; charset=utf-8

    显示符号链接的文件类型

    [root@localhost ~]# ls -l /var/mail
    lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail
    
    [root@localhost ~]# file /var/mail
    /var/mail: symbolic link to `spool/mail'
    
    [root@localhost ~]# file -L /var/mail
    /var/mail: directory
    
    [root@localhost ~]# file /var/spool/mail
    /var/spool/mail: directory
    
    [root@localhost ~]# file -L /var/spool/mail
    /var/spool/mail: directory

    10.查找文件目录

    locate [-d ][--help][--version][范本样式...]
    -d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
    --help  在线帮助。
    --version  显示版本信息。

    实例:

    [root@localhost 桌面]$ locate 123.csv                  --查找123.csv这个文件的位置
    /home/root/.cache/vmware/drag_and_drop/EmEiE8/123.csv
    /home/root/桌面/123.csv

    11.复制远程文件或目录

    Linux rcp命令用于复制远程文件或目录。

    rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。

    rcp [-pr][源文件或目录][目标文件或目录]

    rcp [-pr][源文件或目录...][目标文件]
    -p  保留源文件或目录的属性,包括拥有者,所属群组,权限与时间。
    
    -r  递归处理,将指定目录下的文件与子目录一并处理。

    实例

    使用rcp指令复制远程文件到本地进行保存。

    设本地主机当前账户为rootlocal,远程主机账户为root,要将远程主机(218.6.132.5)主目录下的文件"testfile"复制到本地目录"test"中,则输入如下命令:

    rcp root@218.6.132.5:./testfile testfile  #复制远程文件到本地  
    rcp root@218.6.132.5:home/rootlocal/testfile testfile  
    #要求当前登录账户cmd 登录到远程主机  
    rcp 218.6.132.5:./testfile testfile

    注意:指令"rcp"执行以后不会有返回信息,仅需要在目录"test"下查看是否存在文件"testfile"。若存在,则表示远程复制操作成功,否则远程复制操作失败。

    12.删除一个文件或者目录

    rm [options] name...
    -i 删除前逐一询问确认。
    -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
    -r 将目录及以下之档案亦逐一删除。

    实例

    删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

    # rm  test.txt 
    rm:是否删除 一般文件 "test.txt"? y  
    # rm  homework  
    rm: 无法删除目录"homework": 是一个目录  
    # rm  -r  homework  
    rm:是否删除 目录 "homework"? y 

    删除当前目录下的所有文件及目录,命令行为:

    rm  -r  * 

    13.退出编辑

    ctrl+c  ctrl+z

    14.tee命令用于读取标准输入的数据,并将其内容输出成文件

    实例:

    使用指令"tee"将用户输入的数据同时保存到文件"file1"和"file2"中,输入如下命令:(如果file1和file2文件不存在,会自动创建)

    $ tee file1 file2                   #在两个文件中复制内容 

    以上命令执行后,将提示用户输入需要保存到文件的数据,如下所示:

    My Linux                        #提示用户输入数据  
    My Linux                        #输出数据,进行输出反馈  

    此时,可以分别打开文件"file1"和"file2",查看其内容是否均是"My Linux"即可判断指令"tee"是否执行成功。

    15. cp命令主要用于复制文件或目录

    cp [options] source dest

    cp [options] source... directory
    -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
    -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
    -f:覆盖已经存在的目标文件而不给出提示。
    -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
    -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
    -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
    -l:不复制文件,只是生成链接文件。

    实例

    使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:

    $ cp –r test/ newtest          

    注意:用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。

    16.touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

    touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
    a 改变档案的读取时间记录。
    m 改变档案的修改时间记录。
    c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
    f 不使用,是为了与其他 unix 系统的相容性而保留。
    r 使用参考档的时间记录,与 --file 的效果一样。
    d 设定时间与日期,可以使用各种不同的格式。
    t 设定档案的时间记录,格式与 date 指令相同。
    --no-create 不会建立新档案。
    --help 列出指令格式。
    --version 列出版本讯息。

    实例

    使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:

    $ touch testfile                #修改文件的时间属性 

    首先,使用ls命令查看testfile文件的属性,如下所示:

    $ ls -l testfile                #查看文件的时间属性  
    #原来文件的修改时间为16:09  
    -rw-r--r-- 1 hdd hdd 55 2011-08-22 16:09 testfile  

    执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:

    $ touch testfile                #修改文件时间属性为当前系统时间  
    $ ls -l testfile                #查看文件的时间属性  
    #修改后文件的时间属性为当前系统时间  
    -rw-r--r-- 1 hdd hdd 55 2011-08-22 19:53 testfile  

    使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:

    $ touch file            #创建一个名为“file”的新的空白文件 

    17.tail

    tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

    tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

    命令格式:

    tail [参数] [文件]  
    -f 循环读取
    -q 不显示处理信息
    -v 显示详细的处理信息
    -c<数目> 显示的字节数
    -n<行数> 显示文件的尾部 n 行内容
    --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
    -q, --quiet, --silent 从不输出给出文件名的首部
    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

    实例:

    把logs文件的后300行保存为eg.txt:

    tail -n 300 x.logs > eg.txt

     

    要显示 notes.log 文件的最后 10 行,请输入以下命令:

    tail notes.log

    要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:

    tail -f notes.log

    此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。

    显示文件 notes.log 的内容,从第 20 行至文件末尾:

    tail +20 notes.log

    显示文件 notes.log 的最后 10 个字符:

    tail -c 10 notes.log

    18.sz-上传文件到本机目录中

    sz filename

    19.ll

    列出当前目录的所有文件的详细信息

    20.查看虚拟机的ip

    ifconfig

     21.mv命令:移动文件或改名

    [root@localhost ~]# mv 【选项】 源文件 目标文件
    -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
    -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
    -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
    -v:显示文件或目录的移动过程;
    -u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;

    例1:移动文件或目录

    [root@localhost ~]# mv cangls /tmp
    #移动之后,源文件会被删除,类似剪切
    [root@localhost ~]# mkdir movie
    [root@localhost ~]# mv movie/ /tmp
    #也可以移动目录。和 rmcp 不同的是,mv 移动目录不需要加入 "-r" 选项

    如果移动的目标位置已经存在同名的文件,则同样会提示是否覆盖,因为 mv 命令默认执行的也是 "mv -i" 的别名,例如:

    [root@localhost ~]# touch cangls
    #重新建立文件
    [root@localhost ~]# mv cangls /tmp
    mv:县否覆盖"tmp/cangls"?y
    #由于 /tmp 目录下已经存在 cangls 文件,所以会提示是否覆盖,需要手工输入 y 覆盖移动

    如果源文件和目标文件在同一目录中,那就是改名。例如:

    [root@localhost ~]# mv bols lmls
    #把 bols 改名为 lmls

     22.查看系统文件夹

    [root@localhost ~]# df -h

    23.查看当前账号user的文件夹

    [root@localhost ~]# cd /usr

     24.安装工具包

    /bin/yum install tools

    25.安装sz,rz命令

    /bin/yum install lrzsz

     26.复制本地文件到虚拟机中

    rz filename

    27.查看所有文件,包括隐藏文件

    ll -a

    28.关机和重启

    [root@localhost ~]# shutdown [选项] 时间 [警告信息]
    -c:取消已经执行的 shutdown 命令;
    -h:关机;
    -r:重启;
    [root@localhost ~]# shutdown -r now
    #重启, now是现在重启的意思
    [root@localhost ~]# shutdown -r 05:30
    #指定时间重启,但会占用前台终端
    [root@localhost ~]# shutdown -r 05:30 &
    #把定义重启命令放入后台,&是后台的意思
    [root@localhost ~]# shutdown -c
    //取消定时重启
    [root@localhost ~]# shutdown -r +10
    #10分钟之后重启
    [root@localhost ~]# shutdown -h now
    #现在关机
    [root@localhost ~]# shutdown -h 05:30
    #指定时间关机

     29.删除目录

    rm -r 目录名

     强制删除文件夹

    rm -rf nginx-1.13.9

     30.vim中强制退出编辑模式

    :q!

    31.安装Vim包

    /bin/yum install vim

    32.

    查看服务剩余空间              free -m/free -g    
    查看所有java进程              ps -ef|grep java    
    查看redis服务                ps -ef|grep redis    
    启动redis                   cd /usr/local/redis-4.0.8/src && ./redis-server /usr/local/redis-4.0.8/redis.conf &     
    查看当前目录的进程             netstat -ntpl    
    netstat -ntpl|grep 8081    查看8081这个端口被哪些服务在用
    查看指定进程的服务             ps pid    
    kill进程                    kill -9 pid1 pid2...    
    切换用户                     su logs    切换到logs用户
    切换用户并进入该目录           su - logs    切换到logs用户并且进入了logs目录
    查看日志最近300行              tail -n 300 x.logs    tail从后面显示,head从前面显示
    动态查看日志,实时更新          tail -f x.logs    ctrl+c结束
    查看日志 前 n行               cat 文件名 | head -n 数量    
    查看日志 尾 n行:              cat 文件名 | tail -n 数量    
    根据 关键词 查看日志 并返回关键词所在行    cat 路径/文件名 | grep 关键词    
                                         grep -i 关键词 路径/文件名    
    上传文件                      rz    
    下载文件                      sz *.txt    查看下载路径CRT中在传输-接收Xmodem(N)中
    复制,目录                     cp –r test/ newtest     使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下
    复制,内容                    cp 1.txt test2/2.txt    将1.txt中的内容复制到test2中的2.txt中
    复制文件                      cp 1.txt test2    将1.txt复制到test2中,复制后的结果:test2中存在1.txt
    复制文件夹/目录                cp -r apache-tomcat-7.0.63 test1    apache-tomcat-7.0.63下还有很多文件,必须要-r
    多个文件夹删除                 rm -f test1 test2 test3    
    查看系统磁盘占用情况            df -TH 与df-hl    "
    -H 1K=1000
    -h 1K=1024"
    top                         top 命令实时显示进程的状态    
    修改权限                     chmod 777 -R /tmp    ‘-r表示递归,下面的所有都要这行这个命令,可读(w=4)可写(r=2)可执行(x=1),
    修改权限                     chmod u+x *.sh     u 代表用户. g 代表用户组. o 代表其他. a 代表所有.
                                                   u代表所有者user;x代表执行权限;+ 表示增加权限。对当前目录下的*.sh文件的所有者增加可执行权限。查看文件                     vim start.sh    
                                cat start.sh    
    修改时间                     date -s "2012-12-12 12:12:12"    
    增加用户                     useradd lyl,创建的结果在home中    
    创建密码                     passwd lyl,然后设置密码    
    查看当前目录的完整地址         pwd    
    查看当前服务的ip地址          ip address    
    移动并且复制                 scp -r apache-tomcat-7.0.63.tar.gz lyl@39.98.225.xxx:/home/lyl    将apache-tomcat-7.0.63.tar.gz复制到39.98.225.xxx的home/lyl目录下
                                                                                                 若要到到本机的某个目录下,可以写127.0.0.1
    
    解压zip包 unzip xxx.zip .tar
    "解包:tar -xvf FileName.tar 打包:tar -cvf FileName.tar DirName " eg:tar -xvf apache-tomcat-7.0.63.tar.gz
    在linux中安装jdk 1.包放入 cd/usr/local下 2.修改环境变量(根目录下)vim /etc/profile 3.修改环境变量3个: export JAVA_HOME=/usr/local/jdk1.8.0_65 export JRE_HOME=$JAVA_HOME/jre export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin"
    在linux中安装tomcat 1.复制apache-tomcat-7.0.63.tar.gz,如上scp; 2.解压; 3.进入conf修改server.xml的端口,3个; 4.启动该tomcat; 5.浏览器中访问,验证是否可以访问成功。" 进入redis,方法 1.cd /usr/local/; 2.进入具体的redis; 3.cd src,然后操作4启动,远程到客户端 4.进入redis客户端: ./redis-cli -h ip -p port; 5.然后操作查询,删除等;eg:get key1;del key1... 启动redis,方法 1.先进入cd /usr/local 2.再次进入具体的redis, 3.在进入src 4.启动命令:./redis-server /usr/local/Redis/redis.conf"
  • 相关阅读:
    变形金刚2中的各个角色,及车型(带图)第二篇。
    文字效果。这个比较好!
    发一个非常简单的效果,是在浏览器里面上下左右都居中的问题
    等高的css效果,很少见,原来都是用js 的,这回也有css的了,哈哈
    ie6最小宽度问题
    变形金刚2中的各个角色,及车型(带图)第一篇。
    差点吓死我,擦
    单车Eason
    学习了下简单的光照模型
    自我介绍
  • 原文地址:https://www.cnblogs.com/dydxw/p/11754023.html
Copyright © 2020-2023  润新知