linux命令学习之命令是什么

一、 基本命令


0x001命令格式

命令格式:命令 [选项] [参数]

有些命令并不遵守这个格式,中括号表示可省略

0x002 ls -- list directory content

ls是可以列出当前文件夹下的文件和文件夹

  • 命令格式:ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]
  • 常用命令
    • ls -l :按列列出当前文件夹下的文件,同时显示文件的所有信息
    • ls -a:列出当前文件夹下的所有文件,包括.和..和隐藏文件
    • ls -al: 命令混用(前两个命令功能的合并\顺序并不影响)

0x003 cd

移动到某个目录

  • 命令格式:cd [dir]
  • 常用命令:
    • cd .. :上一级目录
    • cd /:根目录
    • cd ~:当前用户目录
    • cd -:进入上一次目录
  • 说明:
    • 相对地址跳转:cd dirname|cd ./dirname:跳转到当前目录下的dirname文件夹
    • 绝对地址跳转:cd /dirname:跳转到/dirname目录下

0x004 mkdir -- make directories

递归创建文件夹

  • 命令格式:mkdir [-pv] [-m mode] directory_name ...
  • 常用命令:
    • mkdir dirname:在当前目录下创建dirname文件夹
    • mkdir dirname1/dirname2:在当前目录下的dirname1目录下创建dirname2,如果dirname1不存在,则先创建dirname1再创建dirname2

0x005 pwd -- persent working directory

查看当前目录

0x006 rmdir -- remove empty directory

删除空白目录

  • 命令格式:rmdir [-p] directory ...
  • 常用命令:
    • rmdir dirname:删除当前文件夹下的dirname
    • rmdir dirname\dirname:删除当前文件夹下的dirname下的dirname

0x007 cp --copy

复制文件
-命令格式:

  • cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file

  • cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory

  • 常用命令

  • cp filename filename2:复制filenamefilename2

  • cp -a filename filename2:复制filenamefilename2,所有信息都一样,包括时间

0x008 mv --move

剪切、改名

  • 命令格式:

    • mv [-f | -i | -n] [-v] source target
    • mv [-f | -i | -n] [-v] source ... directory
  • 常用命令格式:

    • mv source target:重命名sourcetarget
    • mv source tatgetdir/target:剪切sourcetargetdir

0x009 rm -- remove

删除文件

  • 命令格式:rm [-dfiPRrvW] file ...

  • 常用命令格式:

    • rm -rf filename :强制删除filename ,问都不问

二、命令是什么?


0x001 实验:

实验环境:

  • 语言:C语言

  • 系统:MAC

  • windows系统实验结果差不多一致,不通的只是环境变量的设置方法和命令程序所在的文件夹不同而已

  • xcode新建一个c语言项目

//
//  main.c
//  CommandLine
//
//  Created by 冬追夏赶 on 9/23/16.
//  Copyright © 2016 lyx. All rights reserved.
//

#include 

int main(int argc, const char * argv[]) {
    // insert code here...
    
    for(int i=1;i
  • build并将可执行文件重命名为mls
  • 将mls所在的文件夹加入环境变量:.bash_profile
Paste_Image.png
  • 命令行输入: mls -a
Paste_Image.png

说明:

c语言的main函数中存在两个形参,分别是argcargv[]argc参数是数组长度,argv则是传入的参数,在该程序中,argc2argv[1]-a,从代码可以看出,这里直接跳过了数组中的第一个值,因为第一个值代表该程序所在的位置。

由这个实验可以看出,所谓的命令其实不过是一个一个的程序,我们在启动这些程序的时候需要输入一些参数,比如mls -a 中的 -a来实现该程序的特定功能,也就是说,其实我们也可以自己实现这些工具来替换系统中的其他命令,比如我可以将我的mls实现的功能等同ls,则就可以替换系统中的ls了。不过没有这种必要,这里只是为了说明命令是什么,如果实现而已。

在命令行中键入:

echo $PATH

可以看出:

Paste_Image.png

我们到该目录下看看

cd /bin
Paste_Image.png

可以看到,刚刚执行的那些命令都在这儿,尝试直接调用执行:

./ls
Paste_Image.png

与之前执行的结果一致

你可能感兴趣的:(linux命令学习之命令是什么)