zoukankan      html  css  js  c++  java
  • linux常用命令--文件操作、查找、修改ip地址

    Linux命令格式

    命令 [选项] [参数]

    命令:就是具体命令,比如常用的cd,表示进入到哪个路径

    选项:可有可无,针对命令的一些特殊操作,都是以-开头加上字母的形式,比如ls -l

    参数:命令的一些参数

    linux路径

    Linux中,没有C盘、D盘等盘符的概念,只有根目录、子目录一说,“/”:表示根目录,根目录下面有若干子目录,子目录就用“/”加上目录文件名表示。

    • /home:表示家目录,每个用户都会有一个自己的目录,在home下面,使用用户的账号命名;
    • /boot:存放的是Linux启动时用到的核心文件,包括一些连接文件,镜像文件等;
    • /bin:是存放一些常用命令的地方;
    • /opt:外部安装的应用都会存放在这里;
    • /root:系统管理员,超级用户的目录,只有系统管理员可以进入;
    • /etc:存放系统管理所需要的子目录和配置文件;
    • /var:这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下;
    • /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的;

    ...

    了解到这些目录结构以及目录存放的内容,我们就大概知道大部分目录我们是不能随便动的,尽量在自己的家目录中操作命令。

    cd 命令

    cd是进入到某个路径使用的命令。注意cd以及其他所有命令的后面都有一个空格。

    cd /home:进入根目录下的home目录。

    cd /home/admin:进入根目录下的home目录下的admin目录,只要是以/开头的路径,都是绝对路径,/表示根目录。

    cd filesfiles表示相对路径,cd files表示进入到当前目录下的files文件夹中。

    cd ..:路径往上返一级;

    cd ~:回到当前用户家目录,如果是root用户,cd ~ 相当于 cd /root,如果是普通用户,cd ~ 相当于cd /home/当前用户名;

    cd -:回退功能,回退到上一次cd命令的目录下

    pwd:显示当前的目录

    ls命令

    ls命令是用来列出当前目录下都有哪些文件和文件夹的;

    ls:只显示文件夹和文件名,不显示隐藏的文件;

    ls -a:显示所有文件包括隐藏文件,隐藏文件名都是以“.”开头;

    ls -l:显示文件和文件夹的详细信息,比如权限,文件大小,创建时间等

    ls -lh-l中的文件大小是以b为单位显示,改成-lh后,就是以KB或者MB显示;

    ls -lha:显示所有的文件包括隐藏文件的详细信息;

    ll:等同于ls -l

    ll -h:将文件大小以KB以上的单位显示。

    也可以使用通配符,来列出你想要的某些文件,比如 ll a*:列出当前目录下的以a开头的所有文件夹。

    另外还有一些常用通配符,比如:

    ? :表示文件名中任意一个字符

    [abc] :匹配abc中任意一个字符

    [a-c] :也是匹配abc中任意一个字符

     :表示后面的字符就是一个普通字符,比如* 就代表*号而不是通配符

    上面的命令都是必须先cd到某个路径,然后再查看当前路径的文件,事实上ls或者ll后面可以跟一个参数:路径,不需要cd到路径再ll

    ls ~:列出家目录的所有文件

    ls /home/admin/pic 列出“/home/admin/pic”这个路径下的所有文件。

    文件详细信息

     

    从上面的截图中复制下来两条,如下:

    -rw-------. 1 root root 1.9K 2月  28 16:26 anaconda-ks.cfg

    drwxr-xr-x. 3 root root 4.0K 3月   1 21:38 soft

    第一个字母有些是-,有些是d-表示这一条是一个文件,d表示是一个文件夹,也可能会有l表示软连接;

    1.9k4.0k是文件大小,接下来是时间,表示最后一次修改的时间,然后是文件名。

    root root:有两个root,第一个表示当前用户是root,第二个表示当前用户所在组是root

    root前面的数字是硬连接数

    rwxr-xr-x:是权限,三个字母为一组:rwx  r-x  r-x,第一个字母r表示可读,如果改成-表示不可读,第二个字母w表示可写,改成-表示不可写,第三个字母x可执行,改成-表示不可执行,rwx的顺序始终都是这样的。那么为什么分三个组呢,第一个组rwx是表示文件拥有者的权限,第二个r-x表示文件拥有者所在组的权限,第三个r-x表示该组以外的用户的权限。

    mkdir命令

    创建文件夹的命令。

    mkdir picture:在当前路径创建一个picture的文件夹

    mkdir /home/admin/self/picture:在admin目录下创建一个picture文件夹,这种时候必须保证/home/admin/self路径是存在的,否则会报错。

    如果想要admin/self路径不存在也能创建成功,就需要在命令后面加一个-pmkdir /home/admin/self/picture -p

    mkdir a b:在当前路径创建两个文件夹

    mkdir self/{a,b}:在self下创建两个文件夹,等同于mkdir self/a self/b

    mkdir .aa:创建隐藏文件。

    touch命令

    创建文件的命令。

    touch a.txt :在当前目录下创建a.txt文件。

    gedit a.txt  在当前目录下创建一个a.txt并且使用Linux自带的gedit工具打开。

    rm命令

    删除文件或者文件夹

    rm a.txt :删除文件

    rm abc :删除文件夹,直接删会报错,需要加-rrm abc -r

    rm *  :删除所有的文件,不删文件夹,一定要小心使用。

    rm * -r :删除当前目录下的所有文件和文件夹

    rm /tmp/* -rf 删除/tmp目录下的所有文件

    上面的这些rm,执行的时候会提示是否确认删除,加一个-f就不会再提示了,比如rm * -rf  删除当前目录下的所有文件和文件夹

    cp命令

    拷贝命令

    cp 1.txt 2.txt   可以理解为将当前目录的1.txt拷贝一份2.txt

    cp 1.txt /home/admin/pic :将当前目录的1.txt移动到后面的pic文件夹下

    cp a a_bak -r :拷贝文件夹,注意必须有-r

    mv命令

    剪切/移动命令

    mv 1.txt 2.txt :将当前目录的1.txt重命名2.txt

    mv 1.txt ~ :将当前目录的1.txt移动到指定目录:家目录

    重定向

    ls > 1.txt :将>左边的命令返回的结果写入到1.txt

    ls >> 1.txt :将>>左边的命令返回的结果追加到1.txt

    注意:重定向的前提是左边的命令有返回值,如果没有,没办法写入文件

    cat 查看文件内容

    cat 1.txt 1.txt中的内容显示到屏幕上

    cat 1.txt 2.txt : 同时显示1.txt2.txt的内容到屏幕上

    cat 1.txt 2.txt > 3.txt :将1.txt 2.txt的内容输入到3.txt

    more查看文件内容

    more也可以查看文件内容,如果文件内容比较长,适合用more命令,翻页查看。

    more 1.txt : 查看1.txt的内容

    空格键是向下翻页,b键是回退一页,q是退出,回车是向下翻一行。

    管道命令

    |是管道符,意思是将这个符号左边的命令的返回结果交给右边命令处理

    ls -l / | more :将根目录下的文件列表用more的方式显示。

    help命令

    --help可以提供帮助文档,英文的,比如ls --help

    man +命令也可以查看帮助文档。

    键盘的操作键:

    空格:显示下一页

    回车:一次滚动一行

    b:回滚一屏

    f:前滚以屏

    q:退出

    /word:搜索word字符串

    软连接和硬链接

    软连接:类似Windows中的快捷方式,这个链接不记录文件内容,只是一个指向某个文件的快捷方式。软连接记录的是指向的文件的文件名。

    ln -s 1.txt soft_link

    soft_link指向了1.txt,等同于给1.txt设置了一个别名:soft_link

    cat soft_link :显示的是1.txt中的内容

    还可以将软连接放到不同的路径下:

    ln -s /home/admin/test/1.txt /home/admin/soft_link

    注意:如果是放到不同路径,前面的路径必须是绝对路径

    软连接可以给文件夹创建

    硬链接:类似拷贝,会将文件的内容同时记录到硬链接中,修改其中一份,其他的硬链接会同步修改。ll出来的结果的值中的连接数就是指的硬链接数,该文件有几个硬链接。

    命令:ln 1.txt hard_link

    硬链接不可以为文件夹创建。

    grep命令

    文本搜索命令

    grep -n Desktop 1.txt

    找1.txt中的有没有Desktop-n表示在第几行

    根据文件内容找到具体在哪个文件的哪一行:

    grep -n ab . -r

    返回值:  ./2.txt:4:ab/

    在当前路径下,找包含ab的内容

    grep -n后面还可以跟正则表达式:

    ^a:表示以a开头

    a$:表示以a结尾

    1. :点表示任意一个字符,除了 a后面有一个字符

    grep -niv ab . -r

    -n前面说了表示行号

    -i 表示不区分大小写

    -v 表示反向查找,即查找不包含ab的文件

    find命令

    find + 目录 + -name + *.txt

    find ~ -name ‘*.txt’  home目录下找到文件名为txt结尾的,如果查找的内容带通配符,必须用单引号引起来。

    find . -name 1.txt :寻找当前目录下的1.txt1.txt可以不带引号

    tar打包命令

    tar cvf 4.tar 1.txt 2.txt

    打包,但是没有压缩,将1.txt2.txt打包到4.tar中,f必须放在最后,打包后的文件必须是.tar文件,也可以打包一个路径

    tar tf 4.tar

    1.txt

    2.txt

    查看4.tar中都包含哪些文件

    tar xvf 4.tar  4.tar解压放到当前目录

    其中-c/-x分别表示create/extract,即打包/解包.
    -v 是verbose,表示显示打包/解包的详细过程.
    -f 表示file,表示打包输出/解包输入文件

    tar xvf 4.tar -C +目录 :后面加上-C(大写),然后加上已存在的目录,可以解压到目录中。

    tar命令只是打包,但是没有压缩,下面的命令会压缩。

    tar+gzip打包并且压缩命令

    tar czf b.tar.gz *txt  

    把当前目录下的txt结尾的文件,压缩成b.tar.gz

    tar zxf b.tar.gz -C tar

    解压b.tar.gztar文件目录下

    tar+bzip2命令

    tar jcf j.tar.bz2 *txt     # 压缩

    tar xjf j.ftar.bz2 -C jtar     # 解压缩

    zip命令

    zip -r zz *txt   ZZ是要生成的压缩文件,会自动生成zip扩展名

    unzip -d zz zz.zip  押解时自动创建目录

    压缩率:zip最差,其次gzip,最好的是bzip2

    zip比较通用,WindowsLinux都能用,gzip平时用的最多。

    其他命令

    which +命令:查找命令位置

    su 回车输入密码,切换到root用户

    su + 用户名: 从root用户切换到普通用户

    passwd:修改密码,如果想要修改简单密码,用root用户修改。

    exit : 退出当前用户,返回到上次用户,多次输入后整个退出

    chmod命令

    chmod是用来修改权限的

    一种是字母的方式修改权限:

    chmod u/g/o/a +/-/= rwx  文件

    u: 表示文件所有者

    g:表示文件所有者属于的组

    o:组以外的人

    a:表示三者都是

    +:表示增加某个权限

    -:表示删除某项权限

    =:表示设定权限

    r是可以读取,没有r权限就不能进入这个目录或者文件

    w是可以写入,没有w权限就不能在该目录下创建文件

    x是可以执行,没有x权限就意味着不能cd到这个目录

    比如:chmod u + w file.txt  file.txt的创建者增加file.txtw权限。

    rwx可以使用数字代替:

    0:没有任何权限

    1:执行权限

    2:写权限

    3:执行和写的权限(1+2

    4:读权限

    5:读取和执行权限(1+4

    6:读取和写入权限(4+2

    7:所有权限(1+2+4

    runlevel命令

    输入runlevel,返回当前的level

    如果忘记密码,可以进入到level 1 修改,进入方法:init 1

    init 5是切换到图形界面

    init 3是命令界面

    修改ip地址

    首先可以查看当前的ip,输入ifconfig,正常来说会返回下面这样两个网卡,一个eth0,一个lo,不需要管,eth0就是本机的ip,可以看到ip地址是192.168.142.128

     

    如果我们想要修改这个ip,可以输入命令:

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

     

    打开这个文件后,可以看到最下面这里的BOOTPROTO的值是dhcp,表示动态获取IP地址,想要修改的话就改成静态的:

     

    按照图修改,改完后IP就是192.168.142.129了。

    修改完成后需要重启服务:/etc/init.d/network restart命令即可。

    然后再通过ifconfig查看当前ip

    网卡配置完,如果想要上网,还需要修改DNS

    nameserver 202.106.0.20

    nameserver 8.8.8.8

    然后ping www.baidu.comping通就可以上网了。

    远程连接linux

    IP配置完之后可以通过远程工具来连接linux服务器,常见的有:

    puttysecureCRT(主流)、xshell

    比如在windows上安装一个xshell免费版,新建一个会话,输入名称和linux服务器的ip,就可以使用xshell来操作linux了。

  • 相关阅读:
    10查询结果排序
    11汇总和分组数据
    09查询基础
    07修改数据
    08删除数据
    06插入数据
    PHP 判断数组是否为空的5大方法
    Mysql模糊查询like效率,以及更高效的写法
    经典面试题golang实现方式(一)
    php调用c语言编写的so动态库
  • 原文地址:https://www.cnblogs.com/sy_test/p/13578782.html
Copyright © 2011-2022 走看看