liunx的基础命令-01

作者: 162f127842fc | 来源:发表于2017-12-05 11:30 被阅读0次

    liunx的初识

    首先了解linux目录的结构:

    linux上是没有window这种盘符说法。 只有一个根目录 ,所有的文件都在根目录下。

    / 代表根目录

    
    doublechina@doublechina:/$
    
    

    ~代表家目录

    
    doublechina@doublechina:~$ cd 
    
    

    Liunx目录详解

    
    /bin    用以存储二进制可执行命令文件
    
    /home    普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。
    
    /root  超级用户,即根用户的主目录
    
    /etc    存放文件管理配置文件和目录。
    
    /lib    存储各种程序所需要的共享库文件。
    
    --------------------------------------------------------------
    
    /sbin  许多系统命令的存储位置
    
    /dev    存储设备文件,包括计算机的所有外部设备,如硬盘、是、键盘、鼠标等。
    
    /opt    作为可选文件和程序的存放目录,否则将无法引导计算机进入操作系统。
    
    /srv    存储系统提供的服务数据。
    
    /sys    系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。
    
    /lost+found    一般为空,当非法关机时,会存放一些零散的文件。
    
    /proc    这是一个虚拟目录,它是内存的映射,包括系统信息和进程信息。
    
    /boot    存放Ubuntu内核和系统启动文件。
    
    /mnt    通常包括系统引导后被挂载的文件系统的挂载点。
    
    /media    存放Ubuntu系统自动挂载的设备文件。
    
    

    普通用户 $

    
    doublechina@doublechina:~$ cd
    
    

    root用户 #

    
    root@doublechina:/#
    
    

    进入root用户

    -su root进入root用户,需要密码。

    -sudo passwd root修改密码

    -su doublechina切换到普通用户。

    
    doublechina@doublechina:/$ su root
    
    #输入密码
    
    Password:
    
    #修改密码
    
    root@doublechina:/# su passwd root
    
    [sudo] password for doublechina:
    
    #输入密码,回车
    
    Enter new UNIX password:
    
    #确定密码,回车
    
    Retype new UNIX password:
    
    passwd: password updated successfully
    
    # 切换目录
    
    root@doublechina:/# su doublechina
    
    doublechina@doublechina:/$
    
    

    命令行系统显示:

    
    doublechina@doublechina:~$ 
    
    用户名 @ 主机名 : 目录  用户类型(普通/root)
    
    

    常用命令

    
    pwd            查看当前文件夹
    
    cd              切换文件夹
    
    ls              查看当前文件夹下的内容
    
    mkdir          创建目录  (mkdir a_dir)
    
    touch          如果文件不存在,新建文件
    
    rmdir          删除指定目录
    
    rm              删除指定文件名
    
    clear          清屏 (快捷键 ctr + L)
    
    

    终端命令格式

    
    command  [-options]  [parameter]
    
    

    1.cd 切换路径

    
    cd .. 回到上一级目录
    
    cd / 跳到根目录
    
    cd ~ 回到家目录
    
    cd  回到家目录
    
    cd . 当前目录
    
    cd - 回到上一次目录
    
    区分:
    
        cd 绝对路径  是从根路径 / 开始的
    
    # 
    
    cd /home
    
        cd 相对路径
    
    #  cd ..  相对于当前目录,回到上一级目录,不带完整的目录
    
    

    2.ls 查看

    ls

    常用参数

    -a # 显示目录下所有的子目录和文件 包括以.

    ..

    开头的隐藏文件

    -l # 以列表方式显示文件的详细信息

    -h # 配合 -l 人性化的显示文件大小

    -i # 会显示编号(id)

    
    doublechina@doublechina:/home$ ls -a
    
    .  ..  doublechina
    
    doublechina@doublechina:/home$ ls -l
    
    total 4
    
    drwxr-xr-x 4 doublechina doublechina 4096 Nov 28 22:02 doublechina
    
    doublechina@doublechina:/home$ ls -h
    
    doublechina
    
    doublechina@doublechina:/home$ ls -i
    
    522362 doublechina
    
    

    3.mkdir

    mkdir dirname # 创建目录

    常用参数

    -p 同时创建多级目录

    -v 显示过程

    
    #创建多个目录 
    
    doublechina@doublechina:~$ mkdir test test1
    
    #pv结合使用
    
    doublechina@doublechina:~$ mkdir -pv  tt2/t1/t2  tt1/t1/t2
    
    mkdir: created directory 'tt2'
    
    mkdir: created directory 'tt2/t1'
    
    mkdir: created directory 'tt2/t1/t2'
    
    mkdir: created directory 'tt1'
    
    mkdir: created directory 'tt1/t1'
    
    mkdir: created directory 'tt1/t1/t2
    
    

    4.touch使用

    
    doublechina@doublechina:~$ ls
    
    a  test  test1  test2  tt  tt1  tt2  tt3  ttt6
    
    #有tt2文件不做创建
    
    doublechina@doublechina:~$ touch tt2
    
    doublechina@doublechina:~$ ls
    
    a  test  test1  test2  tt  tt1  tt2  tt3  ttt6
    
    #没有java文件进行创建
    
    doublechina@doublechina:~$ touch java
    
    doublechina@doublechina:~$ ls
    
    a  java  test  test1  test2  tt  tt1  tt2  tt3  ttt6
    
    

    5.rmdir 删除空目录

    rmdir dirname # 删除空目录

    常用参数

    -v 显示过程

    -p 递归删除

    
    doublechina@doublechina:~$ rmdir -pv a/b/c
    
    rmdir: removing directory, 'a/b/c'
    
    rmdir: removing directory, 'a/b'
    
    rmdir: removing directory, 'a'
    
    

    6.查看目录树tree

    
    sudo apt-get install tree
    
    #安装tree
    
    doublechina@doublechina:~$ sudo apt-get install tree
    
    Reading package lists... Done
    
    Building dependency tree
    
    Reading state information... Done
    
    The following NEW packages will be installed:
    
    tree
    
    0 upgraded, 1 newly installed, 0 to remove and 89 not upgraded.
    
    Need to get 0 B/42.5 kB of archives.
    
    After this operation, 137 kB of additional disk space will be used.
    
    Selecting previously unselected package tree.
    
    (Reading database ... 60441 files and directories currently installed.)
    
    Preparing to unpack .../archives/tree_1.7.0-3_i386.deb ...
    
    Unpacking tree (1.7.0-3) ...
    
    Processing triggers for man-db (2.7.5-1) ...
    
    Setting up tree (1.7.0-3) ...
    
    #查看tree
    
    doublechina@doublechina:~$ tree
    
    .
    
    ├── java
    
    ├── test1
    
    ├── test2
    
    ├── tt
    
    │  └── t1
    
    │      └── t2
    
    ├── tt1
    
    │  └── t1
    
    │      └── t2
    
    ├── tt2
    
    │  └── t1
    
    

    7.rm 删除文件

    rm filename # 删除文件

    常用参数

    -i 交互式删除,提醒

    -f 强制删除

    -r 递归式文件夹删除

    * 通配

    rm -rf * # rm 删除文件 -r 还可递归的删除文件夹 -f 强制 *所有

    
    doublechina@doublechina:~$ ls
    
    java  test1  test2  tt  tt1  tt2  tt3  ttt6
    
    #删除java文件,提醒用户
    
    doublechina@doublechina:~$ rm -i java
    
    rm: remove regular empty file 'java'? y
    
    doublechina@doublechina:~$ ls
    
    test1  test2  tt  tt1  tt2  tt3  ttt6
    
    #删除所有文件和文件夹,但是不含隐藏目录    
    
    rm -rf *
    
    doublechina@doublechina:~$ rm -rf *
    
    doublechina@doublechina:~$ ls
    
    #查看隐藏目录 
    
    doublechina@doublechina:~$ ls -a
    
    .  .bash_history  .bashrc  .profile                  .viminfo
    
    ..  .bash_logout  .cache  .sudo_as_admin_successful
    
    

    8.mv 移动和重名 = 剪切

    
    mv filename1 filename2  # 重名
    
    mv filename1 -b filename2  # 重命名前覆盖
    
    mv filename2  dirname    # 移动
    
    

    运行代码

    
    doublechina@doublechina:~$ tree
    
    .
    
    ├── 1.txt
    
    ├── 2.txt
    
    ├── aa
    
    │  └── 1.txt
    
    ├── bb
    
    │  └── aa
    
    │      └── 1.txt
    
    ├── cc
    
    ├── ddcc
    
    └── ee
    
    └── ff
    
    #如果存在目录,移动
    
    doublechina@doublechina:~$ mv  1.txt cc
    
    doublechina@doublechina:~$ tree
    
    .
    
    ├── 2.txt
    
    ├── aa
    
    │  └── 1.txt
    
    ├── bb
    
    │  └── aa
    
    │      └── 1.txt
    
    ├── cc
    
    │  └── 1.txt
    
    ├── ddcc
    
    └── ee
    
    └── ff
    
    7 directories, 4 files
    
    #如果不存在,重命名
    
    doublechina@doublechina:~$ mv 2.txt 3.txt
    
    doublechina@doublechina:~$ ls
    
    3.txt  aa  bb  cc  ddcc  ee
    
    doublechina@doublechina:~$ tree
    
    .
    
    ├── 1.txt
    
    ├── 3.txt
    
    ├── aa
    
    │  └── 1.txt
    
    ├── bb
    
    │  └── aa
    
    │      └── 1.txt
    
    ├── cc
    
    │  └── 1.txt
    
    ├── ddcc
    
    └── ee
    
        └── ff
    
    #移动的目录中,存在相同的文件,保留相同的文件,使用-b
    
    doublechina@doublechina:~$ mv 1.txt -b aa
    
    doublechina@doublechina:~$ tree
    
    .
    
    ├── 3.txt
    
    ├── aa
    
    │  ├── 1.txt
    
    │  └── 1.txt~
    
    ├── bb
    
    │  └── aa
    
    │      └── 1.txt
    
    ├── cc
    
    │  └── 1.txt
    
    ├── ddcc
    
    └── ee
    
        └── ff
    
    7 directories, 5 files
    
    

    9.cp 复制

    
    cp  filename1 dirname  #  复制
    
    # 常用参数
    
    -a  # 复制目录  保留文件原有的属性,相对于r更强大点
    
    -i  # 在覆盖之前提示
    
    -r  # 目标文件必须为一个目录名
    
    -v  #  显示进度
    
    

    执行代码

    
    doublechina@doublechina:~$ tree
    
    .
    
    ├── 1.txt
    
    ├── 2.txt
    
    ├── aa
    
    │  └── 1.txt
    
    ├── bb
    
    ├── cc
    
    ├── ddcc
    
    └── ee
    
    └── ff
    
    #-i提醒
    
    doublechina@doublechina:~$ cp -i 1.txt aa
    
    cp: overwrite 'aa/1.txt'? y
    
    #-a使用
    
    doublechina@doublechina:~$ cp -a aa bb
    
    doublechina@doublechina:~$ tree
    
    .
    
    ├── 1.txt
    
    ├── 2.txt
    
    ├── aa
    
    │  └── 1.txt
    
    ├── bb
    
    │  └── aa
    
    │      └── 1.txt
    
    ├── cc
    
    ├── ddcc
    
    └── ee
    
    └── ff
    
    7 directories, 4 files
    
    

    10.文件类型:

    
    b      块文件也叫设备文件也叫特殊文件
    
    c      字符文件
    
    d      目录文件
    
    p      管道文件
    
    f(-)  普通文件/文本文件
    
    l      链接文件
    
    s(socket)      unix/类unix套接字
    
    

    注意:linux上文件的后缀名只是给我们自己看的,并不能表示文件的类型

    
    doublechina@doublechina:~$ ls -l
    
    total 20
    
    # - 普通文件/文本文件
    
    - rw-rw-r-- 1 doublechina doublechina    0 Dec  5 10:45 3.txt
    
    # d表示目录
    
    drwxrwxr-x 2 doublechina doublechina 4096 Dec  5 11:13 aa
    
    

    11. 关机/重启

    • reboot 重启 用sudo 权限

    • shutdown 用sudo 权限

      • -h now 立马关机
    • -r now 立马重启 now 为当前时间为 0

      • -h +10 系统再过十分钟后自动关机

      • -h 20:25 系统在今天的20:25会关机

      • -c 取消

    • init

    用sudo 权限

    • 0 关机

    • 6 重启

    相关文章

      网友评论

        本文标题:liunx的基础命令-01

        本文链接:https://www.haomeiwen.com/subject/jmwqixtx.html