unix常用命令

-----------------------------unix 概述------------------------------
个人电脑适合装linux,不适合装unix,unix常用于服务器
unix OS历史
    1965年贝尔实验室,MIT计划建立一套多使用者,多任务,多层次的MULTICS
    1970年被称为“unix元年”
    1971年fork()调用在这时候出现
    1973年,用C语言重写了unix的第三版内核
    1980年,产生最主要的2个unix的版本线,BSD unix和unix
Kernel and Shell
    hardware->Kernel(内核)->Shell
unix内核不是硬件也不是软件,不是操作系统,可以把命令翻译成01代码,Shell(脚本语言)可以把脚本语言翻译成内核代码
第一课:unix常用命令行:
    dir   列出当前目录下的文件夹及其文件
    clear     清屏(之前的内容还在,上翻即可)
    PS1="%"可以改系统提示符为%
    source ~/.bashrc    bashrc是shell 的配置文件,可以回到初始状态
    more ~/.bashrc    显示bashrc文件
    vi ~/.bashrc   查看vi
    pwd (print work directory)查看当前目录
    ls (list)列出当前目录下的所有文件及目录
    cd (change directory)改变目录
    .代表当前目录
    ..代表上一层目录
    /代表计算机系统的顶层目录
    新建一个文件夹后,一定会存在两个文件:.和..
    绝对路径:由根开始/到当前目录
    相对路径:从当前路径.开始寻找文件
按照需求定制命令:
    ls -R  表示列出当前目录及子目录中的所有文件
    unix中以点开头的文件为隐藏文件
    ls -a 列出所有文件,包括隐藏文件
    ls -l 以长格式列出文件以及目录的信息:
        1/包括文件类型及文件权限(共占10个字符,)
            d表示文件夹
            空表示文件
            l表示链接,类似于快捷方式,存放了原文件的文件路径
        2/drwxrwxr-x,除第一个字符外,第一个表示自己文件所有者的权限rwx,第二个rwx表示同组的权限,第三个rwx表示
        3/后跟的数字2表示链接的个数,即快捷方式的个数,
        4/文件主名,文件组名
        5/字节数
        6/创建日期(文件最后一次修改的日期)
        7/文件名
选项叠加:ls -a -l 和ls -la表示以长格式显示文件及其隐藏文件,其中l 和a的顺序不影响
    ls -F 列出的文件类型通过后缀区分:
        /表示目录
        空表示文件
        *表示可执行文件(可运行文件)
    cd ../.. 后退两层目录
    cd   (不加任何东西)可回到主目录
    cd ~   表示回到主目录,其中~表示主目录,在程序中可以用~来表示主目录
创建文件或目录:
    mkdir csd1307  创建一个名为csd1307的文件夹
    touch file_name  功能:修改文件日期,如果文件不存在,则为新建一个文件     
    ls -l a.txt 用长格式列出文件a.txt的信息
    touch file_name1 file_name2 file_name3 创建三个文件
删除文件:rm
    rm file_name  删除,一次性无提示不可还原的删除文件或目录(不安全)
    rm file_name -i  可提示的删除(y就会删除,n或者什么都不输不会删除)
元字符:用上档键输入的字符
    通配符:*表示任何一个或多个字符
        ?表示任意一个字符
        [a-z]表示任意a-z的字符
删除目录: rmdir dir_name 必须是空目录才能删除
      rm -r dir_name 强制删除目录(不管目录是否非空)
      -i提示是否删除
编辑文件:
    echo 回显,
    echo hello>>a.txt   向a.txt中添加hello
    >重定向符号,向文件添加文本后,文件原来的内容会被覆盖
    >>表示文本的追加
gedit 类似于windows中的记事本,unix中没有
vi linux,unix中都会有
vi 编辑器
    命令模式——》(i,a,o)编辑模式
        i  当前位置插入
        a  当前光标之后插入
        o  当前光标的下一行插入
    编辑模式——》(Esc)底行模式(命令模式)
    :w hello.c 把刚刚编辑的内容保存为hello.c
    :q! 不保存强制退出
gcc hello.c 会生成一个名为a.out的文件
    echo $PATH 显示环境变量



day2
将原文件内容拷贝到目标文件:
    cp 原文件 目标文件
    -i 拷贝过程中若目标文件存在则询问是否覆盖(y/n)
-r:拷贝目录
    cp -r dir1 dir2
mv 移动文件或重命名文件
    mv a.txt .. 将a.txt          移动到上一层目录
    mv a.txt  note1 将a.txt      移动到note1目录中
    mv file_name1 file_name2 file_name3 Dir    移动多个文件
    mv  file_name1 file_name2    将file_name1重命名为file_name2
    当用mv更改文件名时,若文件名存在,则存在的文件将被覆盖
    mv dir1 dir2   给目录重命名
ln  创建链接文件
    格式:ln -选项 file_name link_name
    软链接(快捷方式):类似于windows中的快捷方式   ln -s
    硬链接(回收站):类似于windows中的回收站      ln
    原文件失效后,软链接不可用,而硬链接仍然可以使用(用more分别查看软链接和硬链接的文件名)
    硬链接在内存中不占用空间,为a.txt创建硬链接yinglink相当于有两个名字a.txt和yinglink两个名字指向a.txt文件占用的内存空间,所以删除a.txt后,yinglink仍然可以使用
    unix中当没有任何名字引用到这块内存空间时,该文件才能被删除,如果有任何一个名字指向内存空间的某个位置,该内存空间就不会被删除。
    ls -l 命令显示的链接数实际上是指硬链接的数目,只有删除所有的硬链接,才会删除内存中占用的那片区域。
ftp命令(windows中也可使用):远程终端命令
    ftp 192.168.1.1     在本地计算机链接ftp服务器,进入之后,任何操作是对服务器的操作,和在本地计算机上操作一模一样
    !pwd    !ls   !cd 等等则为在远程终端对本地进行操作 查看等
    fput   文件上传   
        fput  hello.c   把hello.c上传到服务器的当前路径
        fput /home/yuanyuan/hello.c
        fputs note1.txt note2.txt note3.txt 上传多个文件
        fget  a.out    从服务器下载a.out
        fgets a.txt b.txt c.txt   从服务器下载多个文件
    exit 退出ftp
    set bin 将文件内容进行二进制来上传,下载,能避免乱码,但该命令只对内容有效,对名称无效
向服务器上传,尽量不要用中文名称,因为有可能产生乱码
gftp 上传下载的可视化软件
   

你可能感兴趣的:(linux,unix,命令)