Linux基础 运行人生的第一个linux命令

预备知识

  • Linux基础 学习Linux前要准备什么
  • 速记表

    #号在Shell中是注释符号,其后面的内容不会被执行

    cd ~ # 进入用户的home目录pwd # 列出当前目录的绝对路径ls # 列出当前目录的内容mkdir ~/father/son # 创建一文件夹 mv ~/father/son ~/father/daughter # 改名/移动文件(夹)cp ~/father/daughter ~/father/daughter2 # 复制文件(夹)rm -r ~/father/daughter # 删除目录(删除文件不用-r)

    基本命令

    假设你已经用Shell客户端进入了VPS的后台,那么下一步要做些啥呢? 😎

    首先应该是观察一下你的用户名。一个典型的名字是:

    用户名@主机名

    比如这样:

    root@VM-123:~

    那么主机名就是VM-123,而用户名则是root

    很多VPS主机的初始化用户就是root用户,有一些却不是。root用户与文件权限及安全管理有重要关系,但现在并不是深入讨论它的时机。

    因为此时你应该先运行人生的第一个linux命令:

    cd ~

    是不是感觉好像没有发生什么?这就对了,哈哈哈 😋

    这个命令的意思是:进入当前用户的home目录。这个~在Linux中就是代表你的home目录。你可以通过下面的命令看看你的home目录的绝对路径:

    pwd

    如果是root用户,一般会输出/root。如果是非root,一般是/home/用户名。其实这里也体现出root用户确实是比较特别的,它住在系统更加上层的目录中。😛

    那么,下面应该做些啥呢?

    可以试试这个命令:

    ls

    它会列出当前文件夹,也就是root用户的home目录的所有文件(夹),但不包括隐藏文件。

    比如我的目录里的非隐藏文件就有:

    aliyunpan              Downloads  mybackup  rImages.zip                 wordpressaliyun_recnerd_backup  legacy     rImages   virt-sysprep-firstboot.log  wordpress2

    接下来,我们要尝试一下ls命令的变种:

    l

    我没有少打,就是一个字母l。我输出的内容是这样的:

    total 321Mdrwx------ 16 root root 4.0K Apr 17 22:42 .drwxr-xr-x 27 root root 4.0K Apr 14 18:53 ..drwxr-xr-x  2 root root 4.0K Apr 13 19:13 aliyunpandrwxr-xr-x  2 root root 4.0K Apr 14 08:54 aliyun_recnerd_backup-rw-------  1 root root 4.2K Apr 12 14:06 .bash_history-rw-r--r--  1 root root 3.1K Apr  9  2018 .bashrcdrwx------  2 root root 4.0K Apr 30  2018 .cachedrwx------  3 root root 4.0K Apr 14 19:16 .configdrwxr-xr-x  3 root root 4.0K Apr 14 08:09 Downloadsdrwx------  3 root root 4.0K Apr  6 07:35 .gnupgdrwxr-xr-x  2 root root 4.0K Apr 17 10:56 legacydrwxr-xr-x  3 root root 4.0K Apr 30  2018 .localdrwxr-xr-x  6 root root 4.0K Apr 17 12:31 mybackupdrwxr-xr-x 12 root root 4.0K Apr 12 14:05 .oh-my-zsh-rw-r--r--  1 root root  148 Aug 17  2015 .profiledrwxr-xr-x  5 root root 4.0K Apr 17 10:48 rImages-rw-r--r--  1 root root 320M Apr 17 10:44 rImages.zip-rw-r--r--  1 root root   10 Apr 12 14:05 .shell.pre-oh-my-zshdrwxr-xr-x  2 root root 4.0K Apr 13 14:27 .vim-rw-------  1 root root  27K Apr 17 17:30 .viminfo-rw-r--r--  1 root root  929 Apr  5 23:47 virt-sysprep-firstboot.log-rw-r--r--  1 root root  260 Apr 14 08:11 .wget-hstsdrwxr-xr-x  4 root root 4.0K Apr 13 08:40 wordpressdrwxr-xr-x  4 root root 4.0K Apr 15 19:35 wordpress2-rw-------  1 root root  244 Apr 17 16:48 .Xauthority-rw-r--r--  1 root root  42K Apr 12 14:05 .zcompdump-rw-r--r--  1 root root  43K Apr 12 14:05 .zcompdump-racknerd-cffc5f-5.4.2-rw-------  1 root root  55K Apr 17 22:42 .zsh_history-rw-r--r--  1 root root 3.8K Apr 12 14:07 .zshrc

    我简单地解释一下这些东西,你不想现在了解也没关系。

    我们以drwxr-xr-x 2 root root 4.0K Apr 14 08:54 aliyun_recnerd_backup这一个记录为例:

  • drwxr-xr-x:文件权限。前面的d表明它是一个文件夹(document)。后面那些乱七八糟暂时不解释。
  • 2:硬链接数?不重要,之前没了解过 😜
  • root: 所属用户名
  • root: 所属的用户组
  • 4.0K: 文件夹的大小。不包括里面的内容。
  • Apr 14 08:54:创建/修改时间
  • aliyun_recnerd_backup:文件名。
  • 感觉好像也没啥特别的对吧?确实没啥特别 😀

    值得一提的是,第一个.代表的是当前目录,而..代表的是上一层目录。这和windows是一样的。

    此外,凡是有.在前面的,一般属于系统的**隐藏文件**,正常情况下是不显示的。

    更加常用的一个ls类命令是:

    ls -hl

    有些系统还可以用:

    ll

    显示结果如下:

    total 320Mdrwxr-xr-x 2 root root 4.0K Apr 13 19:13 aliyunpandrwxr-xr-x 2 root root 4.0K Apr 14 08:54 aliyun_recnerd_backupdrwxr-xr-x 3 root root 4.0K Apr 14 08:09 Downloadsdrwxr-xr-x 2 root root 4.0K Apr 17 10:56 legacydrwxr-xr-x 6 root root 4.0K Apr 17 12:31 mybackupdrwxr-xr-x 5 root root 4.0K Apr 17 10:48 rImages-rw-r--r-- 1 root root 320M Apr 17 10:44 rImages.zip-rw-r--r-- 1 root root  929 Apr  5 23:47 virt-sysprep-firstboot.logdrwxr-xr-x 4 root root 4.0K Apr 13 08:40 wordpressdrwxr-xr-x 4 root root 4.0K Apr 15 19:35 wordpress2

    是不是感觉要干净许多?

    这时你可能会发现一个恼人的事,特别是有强迫症的人。那就是:命令的输出结果占了一大屏。

    怎么快速清屏呢?有两种常用方式:一般是在键盘上用Ctrl+L;一种是使用命令clear。两者效果类似,可以试试看。用哪个就看个人喜好。我一般喜欢在键盘上用Ctrl+L

    好的,下面接着玩。创建一个文件夹吧:

    mkdir abcdefghijklmnopqrst

    然后进入这个文件夹:

    cd abcdefghijklmnopqrst

    这时,敏锐的小伙伴可以还发现一个事,那就是:如果我要进入一个有着很长名字的文件夹,不是要打好多字?你可以先在Shell中打出cd加个空格,然后按一下键盘上的TAB键,它会有自动补全提示。再打几个前面的字母,接着按TAB键,最后可以精准地定位到目录文件夹。自己试试看。是不是很好玩?

    你还可以多建立几个文件夹:

    mkdir abcdefghijklmnopqrst2mkdir abcdefghijklmnopqrst3mkdir abcdefghijklmnopqrst4

    然后随便玩一下,比如:

    # 进入目录cd abcdefghijklmnopqrst2# 返回目录上层cd ..# 再回到home目录cd ~

    复制(copy)一个文件夹试试看:

    cp abcdefghijklmnopqrst2 test

    这样会生成一个和abcdefghijklmnopqrst2内容一模一样的test(如果里面有内容的话)。

    我想改个好点的名字,怎么改?

    mv abcdefghijklmnopqrst4 iloveyou

    此时abcdefghijklmnopqrst4的文件名就变成了iloveyou了。

    如果我要删除一些文件或者文件夹怎么办呢?

    cd ~rm -r abcdefghijklmnopqrst2 abcdefghijklmnopqrst3

    或者干脆两个命令一起运行:

    cd ~ && rm -r abcdefghijklmnopqrst2 abcdefghijklmnopqrst3

    cd ~对于此时不是必需的,只是让你明白在这个moment,你要在~,即自己的home目录里进行文件夹的删除操作。

    关于rm命令

    对于rm命令值得多说几句。

    linux默认没有内置回收站功能,所以你rm过的内容将无法恢复(据说有一些方法可以恢复,但我从来没有用过)。**你执行rm命令时要三思而后行。**有一些方法可以创建类似windows的回收站机制,不过现在不作讨论。

    此外,偶尔网络上也会出现一些“删库跑路”的新闻,有一些还与官司有关。

    他们多数是通过root用户运行这个命令:

    # rm -rf /*

    永远不要使用这个命令!这可不是开玩笑的!

    rm就是删除的意思,-rf就是要安静地、不加确认地将文件(夹)执行命令,而/*代表系统根目录所有文件。这一条命令下去,整个世界都清净了 😴 。文件都无了还怎么玩嘛!

    这里你应该可以感受到,root用户确实是特别的。以后我们会更加了解它的!

    到这里,你基本上已经学完linux日常使用70%左右的命令。怎么会这样子? 😨

    就是这样子。

    linux本质上就是一些文件管理的过程,所以这些命令用得最频繁了。其它命令按需学习就行 😛 。

    基础命令的学习到此结束啦!多多练习,相信很快就可以掌握。没有什么速记法,惟手熟尔。

    root用户

    对于新手来说,还是有必要再隆重地介绍一下root用户。

    如果谁掌握了root,他就掌握了这个linux机器的一切,可以为所欲为。

    你以后也会慢慢体会到,有了root的权限,你可以随意修改文件的内容、归属用户(组),甚至是删除它。

    另外,root的用户名一般都是root,这对于有公网ip的VPS来说可能是一个隐患。别人知道你的公网ip和root这个名字,就可以通过一些手段登陆你的主机。如果你使用了弱密码,分分钟就被破解了(~ ̄▽ ̄)~

    当然,在现阶段的学习中,其实不用太过在意安全问题,毕竟你的主机里啥也没有。大不了重装系统嘛,VPS不是有后台吗?现在你只要知道,它和你主机的安全有很大关系就行了。

    在新手熟悉linux命令的过程中,我觉得用root用户还是有一定的好处的,因为它不用频繁地使用sudo和输入密码去操作某些命令,降低了学习难度。也算是利弊参半吧。

    如果你熟悉了基本命令,还是要尽快减少使用root用户,转用非root用户作为平时使用的用户。

    且听下回分解喽!

    转至个人博客:https://blognas.hwb0307.com

    欢迎关注!

    本文使用 文章同步助手 同步

    ©著作权归作者所有,转载或内容合作请联系作者
    平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

    推荐阅读更多精彩内容