-----------------------------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 上传下载的可视化软件