Linux-文件结构、快捷键、安装软件和常用命令(1)
一、目录结构【文件结构】
1.Windows文件系统
打开计算机,看到的都是一个个的驱动器盘符,比如C盘,D盘。。。。
注意:每个驱动器都有自己的根目录结构,形成了树型结构
相对路径:没有盘符
绝对路径:有盘符
2.Linux文件系统
ubuntu没有盘符这个概念,只有一个根目录:/
相对路径:从当前默认的路径开始
绝对路径:从根目录/开始的路径
注意:在Linux下,所有内容都被视为文件,目录也被视为文件
lichongchong@ubuntu01:~$ ls Desktop Downloads Pictures PycharmProjects Templates Documents Music Public Software Videos lichongchong@ubuntu01:~$ pwd /home/lichongchong lichongchong@ubuntu01:~$ cd Desktop/ #相对路径 lichongchong@ubuntu01:~/Desktop$ cd .. lichongchong@ubuntu01:~$ cd /home/lichongchong/Desktop/ #绝对路径 lichongchong@ubuntu01:~/Desktop$
Linux目录结构: / : 根目录 #在Linux下有且只有一个根目录,在终端输入/home,告诉系统,从根目录开始,查找home目录下的内容 /boot : boot 配置文件、内核和其它启动时所需的文件 #包括一些连接文件和镜像文件 /etc :存放系统配置有关的文件 #存放所有的系统管理需要的文件和子目录,用户信息都在当前目录下,包括用户名,主机名,和密码 /home :存放普通用户目录 #Linux系统是一个典型的多用户系统,是用户的主目录,每个用户都有一个自己的目录,一般该目录名是以当前用户的用户名命名的/mnt :硬盘上手动挂载的文件系统 #挂载:把硬盘挂载在文件系统上#mnt默认是空的,系统提供该目录让用户挂载别的临时文件,例如:挂载光驱,进入该目录就可以查看光驱中的内容 /media :自动挂载(加载)的硬盘分区以及类似CD、数码相机等可移动介质。#会自动识别一些设备:U盘,光驱等,当识别后,会将识别的设备自动挂载到当前目录下 /cdrom :挂载光盘 /opt : 存放一些可选程序,如某个程序测试版本,安装到该目录的程序的所有数据,库文件都存在同个目录下 #默认是空的,给主机额外安装软件提供的目录,比如:安装mysql数据库,则可以被存放到该目录下/root : 系统管理员的目录,对于系统来说,系统管理员好比上帝 #超级管理员的用户主目录/bin :存放常用的程序文件 #binary,二进制文件,可执行的 /sbin :系统管理命令,这里存放的是系统管理员使用的管理程序 #s:super user/tmp :临时目录,存放临时文件 #temp,临时的,系统会定期清理tmp下的内容/usr :在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如游戏、打印工具等。/usr目录包含了许多子目录: #用户的很多的应用程序和文件保存在该目录下,相当于window的program files/usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件。/usr/local : 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。/usr/bin/ 非必要可执行文件 (在单用户模式中不需要);面向所有用户。/usr/include/ 标准包含文件。/usr/lib/ /usr/bin/和/usr/sbin/中二进制文件的库。/usr/sbin/ 非必要的系统二进制文件,例如:大量网络服务的守护进程。/usr/share/ 体系结构无关(共享)数据。/usr/src/ 源代码,例如:内核源代码及其头文件。/usr/X11R6/ X Window系统 版本 11, Release 6./usr/local/ 本地数据的第三层次,具体到本台主机。通常而言有进一步的子目录, 例如:bin/、lib/、share/./var :该目录存放那些经常被修改的文件,包括各种日志、数据文件;#存放不断修改,扩充的文件/var/cache/ 应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。/var/lib/ 状态信息。 由程序在运行时维护的持久性数据。 例如:数据库、包装的系统元数据等。/var/lock/ 锁文件,一类跟踪当前使用中资源的文件。/var/log/ 日志文件,包含大量日志文件。/var/mail/ 用户的电子邮箱。/var/run/ 自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程。现已经被/run代替[13]。/var/spool/ 等待处理的任务的脱机文件,例如:打印队列和未读的邮件。/var/spool/mail/ 用户的邮箱(不鼓励的存储位置)/var/tmp/ 在系统重启过程中可以保留的临时文件。/lib : 目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。 /lib32 : 同上 /lib64 : 同上 #存放的是共享库,几乎所有的应用程序会使用到的共享库/lost+found : 该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在;/dev : 存放设备文件 #device,设备,存放linux的外部设备/run :代替/var/run目录, #是一个临时文件系统,存储系统启动以来的信息,当系统重启之后,其中的数据会被清除或者被覆盖/proc : 虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里; #虚拟目录,它是系统内存的映射,可以通过该目录直接获取系统的信息,也可以修改其中的某些文件cat /proc/cpuinfo/sys : 和proc一样,虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里;#掌握 home root etc tmp usr bin, /usr/bin :普通用户信息 sbin,/usr/sbin:超级用户信息 var:varity,日志
二、快捷键
ctrl + alt + t :快速打开终端ctrl + shift + + :放大终端窗口,放大字体 ctrl + -:缩小终端窗口,缩小字体tab:自动补全ctrl + a:回到行首 ctrl + e:回到行尾ctrl + w:删除一个单词【通过空格区分单词】 ctrl + u :删除光标左边全部的内容 ctrl + k:删除光标右边全部的内容ctrl + y:恢复由ctrl + w,ctrl + u以及ctrl + k删除的内容ctrl + l:清屏【实质:翻页】ctrl + c:中断ctrl + d:退出终端
三、安装软件
一般分为离线安装【dpkg】和在线安装[apt]一般情况下,Linux系统分为两大类:1.RedHat系列:RedHat,Centos,Fedora等2.Debian系列:Debian,Ubuntu等yum 和 apt-get的区别1.apt和apt-get是Debian,Ubuntu等的包管理工具2.yum是RedHat,Centos,Fedora等的包管理工具3.yum相对于apt或者apt-get是落后的RedHat:1.常见的安装格式为rpm包,格式为:rpm -参数2.包管理工具:yum3.支持tar包Debian:1.常见的安装格式为deb包,格式:dpkg -参数2.包管理工具:apt或者apt-get3.支持tar包
1.apt
软件管理 apt ( Advanced Packaging Tool ) , 他可以自动下载、配置、安装软件包
apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package 安装包 sudo apt-get install package –reinstall 重新安装包 sudo apt-get -f install 强制安装 sudo apt-get remove package 删除包 sudo apt-get remove package –purge 删除包,包括删除配置文件等 sudo apt-get autoremove 自动删除不需要的包 sudo apt-get update 更新源 sudo apt-get upgrade 更新已安装的包 sudo apt-get dist-upgrade 升级系统 sudo apt-get dselect-upgrade 使用 dselect 升级 apt-cache depends package 了解使用依赖 apt-cache rdepends package 了解某个具体的依赖 sudo apt-get build-dep package 安装相关的编译环境 apt-get source package 下载该包的源代码 sudo apt-get clean && sudo apt-get autoclean 清理下载文件的存档 sudo apt-get check 检查是否有损坏的依赖
apt的配置文件
/etc/apt/sources.list 设置软件包的获取来源 /etc/apt/apt.conf apt配置文件 /etc/apt/apt.conf.d apt的零碎配置文件 /etc/apt/preferences 版本参数 /var/cache/apt/archives/partial 存放正在下载的软件包 /var/cache/apt/archives 存放已经下载的软件包 /var/lib/apt/lists 存放已经下载的软件包详细信息 /var/lib/apt/lists/partial 存放正在下载的软件包详细信息
sublime:
sublime text3 步骤: 1.添加subline的仓库 sudo add-apt-repository ppa:webupd8team/sublime-text-3#根据提示按下enter键,建立信任数据库 2.更新软件库 sudo apt update 3.安装sublime text sudo apt install sublime-text-installer#等待软件安装pip install pygame
2.dpkg
dpkg是Debian软件包管理器的基础,被用于安装、卸载和供给和.deb软件包相关的信息,dpkg本身是一个底层的工具,本身并不能从远程包仓库下载包以及处理包的依赖的关系,需要将包从远程下载后再安装
dpkg -i package.deb 安装包 dpkg -r package 删除包 dpkg -P package 删除包(包括配置文件) dpkg -L package 列出与该包关联的文件 dpkg -l package 显示该包的版本 dpkg –unpack package.deb 解开 deb 包的内容 dpkg -S keyword 搜索所属的包内容 dpkg -l 列出当前已安装的包 dpkg -c package.deb 列出 deb 包的内容 dpkg –configure package 配置包
wps
#1.定位到deb包所在的位置 cd #2.安装 dpkg -i wps-office....deb演示命令: lichongchong@ubuntu01:~$ cd Software/ lichongchong@ubuntu01:~/Software$ ls linux-wps pycharm-2017.3.4 lichongchong@ubuntu01:~/Software$ cd linux-wps/ lichongchong@ubuntu01:~/Software/linux-wps$ ls wps-office_10.1.0.5672~a21_amd64.deb wps_symbol_fonts.zip lichongchong@ubuntu01:~/Software/linux-wps$ dpkg -i wps-office_10.1.0.5672~a21_amd64.deb dpkg:错误:所请求的操作需要超级用户权限 lichongchong@ubuntu01:~/Software/linux-wps$ sudo !! #sudo !! 相当于sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.deb ,当执行一条命令没有超级管理员的权限,则再次执行,可以使用sudo !! sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.deb 正在选中未选择的软件包 wps-office。 (正在读取数据库 ... 系统当前共安装有 253363 个文件和目录。) 正准备解包 wps-office_10.1.0.5672~a21_amd64.deb ... 正在解包 wps-office (10.1.0.5672~a21) ... 正在设置 wps-office (10.1.0.5672~a21) ... 正在处理用于 desktop-file-utils (0.22-1ubuntu5.1) 的触发器 ..... 正在处理用于 mime-support (3.59ubuntu1) 的触发器 ... 正在处理用于 shared-mime-info (1.5-2ubuntu0.1) 的触发器 ... 正在处理用于 hicolor-icon-theme (0.15-0ubuntu1) 的触发器 ...
四、常用命令
1.概述
功能:磁盘操作,文件存取,目录操作,进程管理,权限管理等
格式:
command options paras
command :命令名称
options :选项,可以对命令进行控制,根据需求可写可不写
paras:传给命令的参数,根据需求可写可不写,也可以写多个
2.查看帮助文档
1>–help:自带的命令信息,不属于命令,属于选项
注意:任何命令都有–help选项,查看某个指定命令的使用方式以及包含的参数
演示命令: lichongchong@ubuntu01:~$ ls --help
2>man :相当于一个手册,包含了绝大多数命令以及信息【函数使用说明】
格式:man 命令名称
man命令中常用的按键空格键:向上翻一页下方向键:向下翻行上方向键:向上翻行fn + 左方向键:直接回到首页fn + 右方向键:直接回到尾页q:退出帮助文档/xxx :从上往下进行xxx的搜索?xxx :从下往上进行xxx的搜索n:定位到下一个搜索的关键字N:定位到上一个搜索的关键字说明:fn + 左方向键和fn + 右方向键不起作用,则可以使用home和end代替演示命令: lichongchong@ubuntu01:~$ man ls
3>history 查看执行过的命令
当系统执行过一些命令之后,可以通过上下键查看,但是,一旦终端重启,则上下键则不起作用,就可以使用history
history :只显示最近的1000条命令
history num;显示最近的num条命令
!number:执行指定编号的命令,number为history列出来的执行过的命令的编号
演示命令 lichongchong@ubuntu01:~$ history lichongchong@ubuntu01:~$ history 5 lichongchong@ubuntu01:~$ !1046 ls Desktop Downloads Pictures PycharmProjects Templates Documents Music Public Software Videos lichongchong@ubuntu01:~$ !1047 cd Software/ lichongchong@ubuntu01:~/Software$ cd .. lichongchong@ubuntu01:~$ cat ~/.bashrc | grep -i hist # don't put duplicate lines or lines starting with space in the history. HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=1000 HISTFILESIZE=2000 alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' lichongchong@ubuntu01:~$ ls -a ~/.bash* #查看历史命令的位置 /home/lichongchong/.bash_history /home/lichongchong/.bashrc /home/lichongchong/.bash_logout lichongchong@ubuntu01:~$ gedit /home/lichongchong/.bash_history #打开历史命令所在文件 lichongchong@ubuntu01:~$ vim /home/lichongchong/.bash_history #区别于gedit
3.文件管理
1>ls:列举出当前工作目录的内容[list]
-a 用于显示所有文件和子目录(包括隐藏文件) -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录) -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。 (文件大小是字节) -h :和ls单独使用的效果是一样的 -lh 与-l 类似 只不过文件大小显示的是 KB [默认是按照文件名的 abcd 排序的] -lht 与-l -lh 类似 排序是按照修改时间降序排的 -lhtr 按照时间升序排 -r 将目录的内容清单以英文字母顺序的逆序显示 -t 按文件修改时间进行排序 -F 在列出的文件名和目录名后添加标志。例如,在可执行文件后添加“*”,在目录名后添加“/”以区分不同的类型 -R 如果目标目录及其子目录中有文件,就列出所有的文件 #类似文件操作中的递归遍历目录演示命令: lichongchong@ubuntu01:~$ ls lichongchong@ubuntu01:~$ ls -a lichongchong@ubuntu01:~$ ls -A lichongchong@ubuntu01:~$ ls -l lichongchong@ubuntu01:~$ ls -lh lichongchong@ubuntu01:~$ ls -a -l lichongchong@ubuntu01:~$ ls -al lichongchong@ubuntu01:~$ ll#注意事项 ls -a -l :显示出隐藏文件,格式化的显示文件 简写:ls -al ll :ls -a -l的封装,但是注意:ll并不是Linux的原生命令#补充: #1 . ---->当前路径 .. ---->上一级路径 注意:对于根目录而言,.和..代表是同一个目录drwxr-xr-x 2 lichongchong rock 4096 7月 18 2017 Music第一列:drwxr-xr-x ,总共有10位组成,假设用数字0~9表示 #2.文件的类型 第0位表示文件类型-:文件d:目录b:块设备文件c:字符设备文件【端口设备文件,例如鼠标,键盘】l:链接文件p:管道文件s:socket文件#3.权限 第1~9位文件的权限 权限被分为三组,每三位为一组 1~3:当前用户的权限【user/owner】 4~6:用户所属组的权限【group】 7~9:其他组的权限【others】rwx-r:read,可读权限,也可以使用4表示w:write,可写权限,也可以使用2表示x:execute,可执行权限,也可以使用1表示-:没有任何权限,也可以使用0表示 注意:一个文件对于一个用户有什么样的权限 ,可以使用rwx表示之外,还可以使用数字和表示,文件的最高权限为7【对于一个用户而言,可以修改一个文件的权限】#4.文件和目录的权限类型文件:可读:允许读取其中的内容可写:任意修改其中的内容可执行:允许将一个文件作为程序执行目录:可读:允许显示目录中的内容可写:可以在该目录中创建,删除,替换操作可执行:可以进入该目录,执行基本操作 取值范围为0~70:没有任何权限1:只能执行2:只能写3:可写可执行4:只读5:可读可执行6:可读可写7:可读可写可执行 #5. 第二列 普通文件+隐藏文件#6.第三列和第四列 用户和用户组,显示的是主组,【一个用户可以存在于不同的组中,一个组中可以有多个用户,用户的最初的组为主组,其他的组都被称为附加组】#7.通配符 * 演示命令: lichongchong@ubuntu01:~$ cd Desktop/ lichongchong@ubuntu01:~/Desktop$ touch a1.txt lichongchong@ubuntu01:~/Desktop$ touch a2.txt lichongchong@ubuntu01:~/Desktop$ touch b.txt lichongchong@ubuntu01:~/Desktop$ ls a1.txt a2.txt b.txt file1.txt lichongchong@ubuntu01:~/Desktop$ ls a* a1.txt a2.txt lichongchong@ubuntu01:~/Desktop$ ls *a ls: 无法访问'*a': 没有那个文件或目录 lichongchong@ubuntu01:~/Desktop$ touch aa.txt lichongchong@ubuntu01:~/Desktop$ touch ba.txt lichongchong@ubuntu01:~/Desktop$ ls *a ls: 无法访问'*a': 没有那个文件或目录 lichongchong@ubuntu01:~/Desktop$ ls *a.txt aa.txt ba.txt lichongchong@ubuntu01:~/Desktop$ #掌握: ls ls 相对路径 ls -l ll 相对路径
2>pwd 查看当前的工作目录【print working directory】
演示命令: lichongchong@ubuntu01:~$ pwd /home/lichongchong lichongchong@ubuntu01:~$ cd Desktop/ lichongchong@ubuntu01:~/Desktop$ pwd /home/lichongchong/Desktop
3>查看文件,会将查询的结果显示到终端上
#1 cat:查看完整的文件内容,从上往下查看-n :显示每一行的行号,包括空行-b :显示每一行的行号,不包括空行#注意:如果文件内容较少可以使用cat tac:查看完整的文件内容,从下往上查看#注意:没有-n选项 演示命令: lichongchong@ubuntu01:~$ cd Desktop/ lichongchong@ubuntu01:~/Desktop$ cat file1.txt hello fnjawnfkja najwngj126473 \5375y lichongchong@ubuntu01:~/Desktop$ cat -n file1.txt 1 hello2 fnjawnfkja3 najwngj1264734 \5375y lichongchong@ubuntu01:~/Desktop$ tac file1.txt \5375y najwngj126473 fnjawnfkja hello#2 head:查看文件内容,默认查看文件的前十行 tail:查看文件内容,默认查看文件的后十行-num :查看指定的行数 演示命令: lichongchong@ubuntu01:~/Desktop$ head file1.txt hello fnjawnfkja najwngj126473 \5375y hello fnjawnfkja najwngj126473 \5375y hello fnjawnfkja lichongchong@ubuntu01:~/Desktop$ tail file1.txt najwngj126473 \5375y hello fnjawnfkja najwngj126473 \5375y hello fnjawnfkja najwngj126473 \5375y lichongchong@ubuntu01:~/Desktop$ head -2 file1.txt hello fnjawnfkja lichongchong@ubuntu01:~/Desktop$ tail -2 file1.txt najwngj126473 \5375y lichongchong@ubuntu01:~/Desktop$ #3 less:查看文件 more:查看文件#注意:按下enter键向上翻一行,按下空格键向上翻一页,按下q退出,类似man的使用#通过ls或者cat查看目录下的内容,文件中的内容,显示较长的时候,使用less或者more,文件内容较多使用more,文件内容较少使用less#注意:如果文件中的内容一个终端显示屏可以显示的话,则more和cat的作用完全相同, 演示命令: lichongchong@ubuntu01:less file1.txt lichongchong@ubuntu01:more file1.txt#4 wc:一次显示文件行数,字节数以及文件名信息,查看文件的属性 stat:查看文件详细信息,可以获取文件的文件名、大小、权限,最近访问以及最近更改的时间,stat命令的输出信息比ls命令还要详细 #wc和stat用法类似,stat显示的信息更加详细 演示命令: lichongchong@ubuntu01:~/Desktop$ wc file1.txt 268 267 2842 file1.txt lichongchong@ubuntu01:~/Desktop$ stat file1.txt 文件:'file1.txt'大小:2842 块:8 IO 块:4096 普通文件 设备:801h/2049d Inode:583182 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 1000/lichongchong) Gid:( 1000/ rock) 最近访问:2018-12-18 15:41:07.247759694 +0800 最近更改:2018-12-18 15:40:59.147544240 +0800 最近改动:2018-12-18 15:40:59.151544347 +0800 创建时间:-#5. file:查看文件的类型 演示命令: lichongchong@ubuntu01:~/Desktop$ file file1.txt file1.txt: ASCII text#6. echo:用于在终端输出字符串或变量的值 演示命令: lichongchong@ubuntu01:~$ echo "hello" hello#7 |:管道作用:将一个命令的输出,可以作为另外一个命令的输入#8 >:输出重定向,Linux允许将执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中 >>:输出重定向,Linux允许将执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中#注意:如果文件不存在,则会自动创建,,如果存在,则会覆盖其中的内容 1> 标准正确输出,同上 1>> 标准正确输出,同上 #标准正确输出;当文件以及命令没有任何错误的时候才能正常写入 2> 标准错误输出,同上 2>> 标准错误输出,同上#标准错误输出:当文件以及命令出现错误的时候,会将错误信息写入到指定文件中 &> 标准正确输出和标准错误输出,同上将1和2结合在一起了 """ 输出重定向。类似于Python中print的用法 f = open("","w") print("fhad",file=f) """ 演示命令: lichongchong@ubuntu01:ls lichongchong@ubuntu01:touch a1.txt lichongchong@ubuntu01:touch a2.txt lichongchong@ubuntu01:ls > a1.txt lichongchong@ubuntu01:cat a1.txt > a2.txt lichongchong@ubuntu01:ls >> a1.txt lichongchong@ubuntu01:ls 1> a1.txt lichongchong@ubuntu01:ls 1>> a1.txt
4>tree 以树形结构去显示目录结构
-d 只显示文件夹 -f 显示文件的完整路径 -L num :只看前num级的内容#类似ls的使用,只不过显示的内容更加格式化演示命令: lichongchong@ubuntu01: tree lichongchong@ubuntu01: tree -d lichongchong@ubuntu01: tree -f lichongchong@ubuntu01: tree -L 3
5>cd 切换工作目录【change directory】
用法:cd 路径[此处可以是相对路径,也可以是绝对路径] 特殊用法: cd 切换到当前用户的主目录,用户登录的时候,默认的目录就是用户的主目录 cd ~ 切换到当前用户的主目录 cd . 切换到当前目录 cd .. 切换到上一级目录 cd - 返回上一次切换的目录 cd # 回到当前用户的主目录演示命令: lichongchong@ubuntu01:~$ cd lichongchong@ubuntu01:~$ pwd /home/lichongchong lichongchong@ubuntu01:~$ cd ~ lichongchong@ubuntu01:~$ pwd /home/lichongchong lichongchong@ubuntu01:~$ cd . lichongchong@ubuntu01:~$ pwd /home/lichongchong lichongchong@ubuntu01:~$ cd Desktop/ lichongchong@ubuntu01:~/Desktop$ cd .. lichongchong@ubuntu01:~$ cd - /home/lichongchong/Desktop lichongchong@ubuntu01:~/Desktop$ cd - /home/lichongchong lichongchong@ubuntu01:~$ cd # lichongchong@ubuntu01:~$ pwd /home/lichongchong#注意:如果要操作某个文件或者目录,一般都需要切换路径,切换到需要操作的文件或者目录下
6>mv 移动或者重命名文件或者目录【move】
命令格式:mv [参数] 源文件 [目标路径|目标文件名] ------》可以cd到【文件所在路径下】或者【直接通过路径指明文件】-i 在目标文件存在的时候会询问是否要覆盖 #输入y表示移动成功,覆盖原来的文件,输入n,则表示没有移动 【交互式命令】-b 当冲突的时候,会对源文件进行备份演示命令 #重命名:mv 原文件名称 新文件名称 【前提:cd到文件所在的目录下】 #移动:mv 源文件名称 目标目录 【前提:cd到文件所在的目录下】#重命名 lichongchong@ubuntu01:~$ cd Desktop/ lichongchong@ubuntu01:~/Desktop$ ls a1.txt a2.txt aa.txt ba.txt b.txt file1.txt lichongchong@ubuntu01:~/Desktop$ mv file1.txt hello.txt #重名 lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ mkdir bbbb lichongchong@ubuntu01:~/Desktop$ mkdir cccc lichongchong@ubuntu01:~/Desktop$ ls aaa aa.txt bbbb cccc hello.txt lichongchong@ubuntu01:~/Desktop$ mv bbbb hhhh lichongchong@ubuntu01:~/Desktop$ ls aaa aa.txt cccc hello.txt hhhh lichongchong@ubuntu01:~/Desktop$ #移动 lichongchong@ubuntu01:~/Desktop$ ls a1.txt a2.txt aa.txt ba.txt b.txt hello.txt lichongchong@ubuntu01:~/Desktop$ mkdir aaa lichongchong@ubuntu01:~/Desktop$ mv a1.txt aaa/ lichongchong@ubuntu01:~/Desktop$ ls a2.txt aaa aa.txt ba.txt b.txt hello.txt lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ mv a2.txt ba.txt b.txt aaa/ lichongchong@ubuntu01:~/Desktop$ ls aaa aa.txt hello.txt lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt a2.txt ba.txt b.txt lichongchong@ubuntu01:~/Desktop/aaa$ lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ touch a1.txt lichongchong@ubuntu01:~/Desktop$ mv a1.txt aaa/ lichongchong@ubuntu01:~/Desktop$ touch a1.txt lichongchong@ubuntu01:~/Desktop$ mv -i a1.txt aaa/ mv:是否覆盖'aaa/a1.txt'? n lichongchong@ubuntu01:~/Desktop$ ls a1.txt aaa aa.txt cccc hello.txt hhhh lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt a2.txt ba.txt b.txt lichongchong@ubuntu01:~/Desktop/aaa$
7>cp 复制文件或者目录【copy】
命令格式:cp [参数] 源文件【目录】 目标文件【目录】-i 在目标文件存在的时候会询问是否要覆盖【交互式复制】 -r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名 #单纯拷贝目录,拷贝失败,加上-r,会将整个目录以及子文件,子目录全部拷贝进去 -a 复制的时候保持文件原有属性 -f 对于已经存在的目标文件不提示 -v 显示拷贝进度,#显示文件的路径的映射关系""" Linux中,拷贝分为几种情况1.如果目标路径是目录,则会将源文件拷贝到目录的下面2.如果目标路径是文件,则需要询问要覆盖它 """ 演示命令: lichongchong@ubuntu01:~/Desktop$ ls a2.txt aaa aa.txt ba.txt b.txt hello.txt lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ mv a2.txt ba.txt b.txt aaa/ lichongchong@ubuntu01:~/Desktop$ ls aaa aa.txt hello.txt lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt a2.txt ba.txt b.txt lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ mkdir bbbb lichongchong@ubuntu01:~/Desktop$ mkdir cccc lichongchong@ubuntu01:~/Desktop$ ls aaa aa.txt bbbb cccc hello.txt lichongchong@ubuntu01:~/Desktop$ mv bbbb hhhh lichongchong@ubuntu01:~/Desktop$ ls aaa aa.txt cccc hello.txt hhhh lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ cat ^C lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt a2.txt ba.txt b.txt lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ touch a1.txt lichongchong@ubuntu01:~/Desktop$ mv a1.txt aaa/ lichongchong@ubuntu01:~/Desktop$ touch a1.txt lichongchong@ubuntu01:~/Desktop$ mv -i a1.txt aaa/ mv:是否覆盖'aaa/a1.txt'? n lichongchong@ubuntu01:~/Desktop$ ls a1.txt aaa aa.txt cccc hello.txt hhhh lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt a2.txt ba.txt b.txt lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ ls a1.txt aaa aa.txt cccc hello.txt hhhh lichongchong@ubuntu01:~/Desktop$ cp hello.txt aaa/ lichongchong@ubuntu01:~/Desktop$ ls a1.txt aaa aa.txt cccc hello.txt hhhh lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt a2.txt ba.txt b.txt hello.txt lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ cp cccc aaa/ cp: 略过目录'cccc' lichongchong@ubuntu01:~/Desktop$ ls a1.txt aaa aa.txt cccc hello.txt hhhh lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt a2.txt ba.txt b.txt hello.txt lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ cp -i aa.txt aaa/ lichongchong@ubuntu01:~/Desktop$ cp -i aa.txt aaa/ cp:是否覆盖'aaa/aa.txt'? y lichongchong@ubuntu01:~/Desktop$ cd cccc/ lichongchong@ubuntu01:~/Desktop/cccc$ touch c1.txt lichongchong@ubuntu01:~/Desktop/cccc$ mkdir c2 lichongchong@ubuntu01:~/Desktop/cccc$ ls c1.txt c2 lichongchong@ubuntu01:~/Desktop/cccc$ cd .. lichongchong@ubuntu01:~/Desktop$ cp cccc aaa/ cp: 略过目录'cccc' lichongchong@ubuntu01:~/Desktop$ cp -r cccc aaa/ lichongchong@ubuntu01:~/Desktop$ cd aaa/ lichongchong@ubuntu01:~/Desktop/aaa$ ls a1.txt a2.txt aa.txt ba.txt b.txt cccc hello.txt lichongchong@ubuntu01:~/Desktop/aaa$ cd cccc/ lichongchong@ubuntu01:~/Desktop/aaa/cccc$ ls c1.txt c2 lichongchong@ubuntu01:~/Desktop/aaa/cccc$ cd . lichongchong@ubuntu01:~/Desktop/aaa/cccc$ cd .. lichongchong@ubuntu01:~/Desktop/aaa$ cd .. lichongchong@ubuntu01:~/Desktop$ cp -v hello.txt cccc/ 'hello.txt' -> 'cccc/hello.txt' lichongchong@ubuntu01:~/Desktop$
8>创建文件或者目录
8.1>mkdir 创建一个新的目录 #默认创建的是空目录-p:创建出具有嵌套层关系的文件目录 演示命令: lichongchong@ubuntu01:~/Desktop$ mkdir ddd lichongchong@ubuntu01:~/Desktop$ mkdir a/b/c/d mkdir: 无法创建目录"a/b/c/d": 没有那个文件或目录 lichongchong@ubuntu01:~/Desktop$ mkdir -p a/b/c/d lichongchong@ubuntu01:~/Desktop$ mkdir -p b/{c,d,e}/{text1,text2} lichongchong@ubuntu01:~/Desktop$ 8.2>touch 创建空白文件,可以设置文件的时间名词解释:atime:最后一次访问文件或目录的时间【access time】mtime:最后一次修改内容的时间【modify time】ctime :最后一次改变属性的时间【change time】参数:-a 修改atime-m 修改mtime-c 修改ctime-d 同时修改atime与mtime-t 同时修改atime与mtime,格式{YYYYMMDDhhmm}注意:只有-d和-t后面可以指定时间,其他的只能把时间修改为当前时间演示命令: lichongchong@ubuntu01:~/Desktop$ touch file2.txt lichongchong@ubuntu01:~/Desktop$ ls a a1.txt aaa aa.txt b cccc ddd file2.txt hello.txt hhhh lichongchong@ubuntu01:~/Desktop$ touch -d "2 days ago" file3.txt
9>删除文件或者目录
9.1>rmdir 删除给定的目录,注意:只能删除空目录 mkdir 演示命令: lichongchong@ubuntu01:~/Desktop$ mkdir text lichongchong@ubuntu01:~/Desktop$ rmdir text lichongchong@ubuntu01:~/Desktop$ rmdir aaa rmdir: 删除 'aaa' 失败: 目录非空9.2>rm 删除文件或者目录,可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下面所有子文件和目录都删掉-r 删除目录,包括非空目录-ri 交互式删除,每次删除都会进行询问-rf 强制删除文件或目录【注意:必须在保证目录或者文件确实没用的情况下】 演示命令: lichongchong@ubuntu01:~/Desktop$ mkdir text lichongchong@ubuntu01:~/Desktop$ rmdir text lichongchong@ubuntu01:~/Desktop$ rmdir aaa rmdir: 删除 'aaa' 失败: 目录非空 lichongchong@ubuntu01:~/Desktop$ rm hello.txt lichongchong@ubuntu01:~/Desktop$ ls a a1.txt aaa aa.txt b cccc ddd file2.txt file3.txt hhhh lichongchong@ubuntu01:~/Desktop$ rm aaa rm: 无法删除'aaa': 是一个目录 lichongchong@ubuntu01:~/Desktop$ rm -r aaa lichongchong@ubuntu01:~/Desktop$ ls a a1.txt aa.txt b cccc ddd file2.txt file3.txt hhhh lichongchong@ubuntu01:~/Desktop$ rm -ri aa.txt rm:是否删除普通空文件 'aa.txt'? y lichongchong@ubuntu01:~/Desktop$ ls a a1.txt b cccc ddd file2.txt file3.txt hhhh lichongchong@ubuntu01:~/Desktop$ rm -rf file3.txt lichongchong@ubuntu01:~/Desktop$ rm -rf hhhh/
10>ln 建立链接文件
11>grep 文本搜索
强大的文本搜索工具,grep允许对文本文件进行模式查找,如果找到匹配模式,grep打印包含模式的所有行 注意:搜索内容串可以是正则表达式-c:仅显示找到的行数 -i:忽略大小写 -n:显示匹配行以及行号 -v:反向选择,列出没有关键词的行【求反】
12>which 查找其他命令所在的位置
13>type 寻找命令所在的位置,包括命令别名
-a:可以找到所有,包括别名
14>find 按照指定条件来查找文件
格式:find 【查找路径】 【查找方式】 【查找条件】-name:匹配名称,默认是精确匹配 -size:匹配文件大小 -atime -n +n:匹配访问内容的时间(-n指n天以内,+n指n天以前) -empty
15>locate 查找数据
-i:忽略大小写 -c:不输出寻找结果,仅计算找到的文件数量 -l:仅输出指定的几行, 例如:-l 8,输出8行 -r:后面可以接正则表达式
16>sort 给文件内容排序
-f:忽略大小写的差异,例如 A 与 a 视为编码相同; -b:忽略最前面的空格符部分; -n:使用『纯数字』进行排序(默认是以文字型态来排序的); -r:反向排序; -u:就是 uniq,表示唯一的,相同的数据中,仅出现一行代表; -t:分隔符,默认是用 [tab] 键来分隔; -k:以那个区间 (field) 来进行排序的意思
17>cut 可以从一个文本文件或者文本流中提取文本列
-d :后面接分隔字符。与 -f 一起使用; -f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思; -c :以字符 (characters) 的单位取出固定字符区间;( -连接区间 ,取的是和的意思)
18>tee 读取标准输入的数据,并将其内容输出成文件
-a:读取原文件内容,并追加新的内容,如果不设置该选项,则新的内容直接覆盖旧的内容
19>gedit 打开Linux下的文本编辑器
Linux-文件结构、快捷键、安装软件和常用命令(1)相关推荐
- NO9 Linux快捷键整理及最常用命令
Linux快捷键整理及最常用命令 常用快捷键: Ctrl + u 删除光标之前到行首的字符 Ctrl + k 删除光标之前到行尾的字符 Ctrl + c ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- Linux查看文件和日志的常用命令
Linux查看文件和日志的常用命令 当项目部署和运行起来后,会产生很多的运行日志.日志的内容是程序里定义的重要输出信息,还有程序出错的报错信息. 查看日志文件大部分是去日志中获取一些数据,确认某些信息 ...
- centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法
Linux系统中安装软件的三种方法 注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部 Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1.文件位置 系 ...
- Linux查看已经安装软件的版本,安装软件的路径,以及dpkg、aptitude、apt-get、apt工具的使用
Linux查看已经安装软件的版本,安装软件的路径,以及dpkg.aptitude.apt-get.apt工具的使用: 1 dpkg的使用 2 Linux查看已经安装的软件以及版本 2.1 Linux查 ...
- (一)专题介绍:移动端安卓手机改造成linux服务器linux服务器中安装软件、部署前后端分离项目实战
快捷目录 前言 一.涉及到的相关技术简介 二.具体实现过程及踩坑杂谈 1.安卓手机改造成linux系统实现方案 2.改造后的手机Linux中软件的安装 3.手机Linux中安装MySQL5.7踩坑实录 ...
- linux系统中如何查看日志 (常用命令)
linux系统中如何查看日志 (常用命令) cat tail -f 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用 ...
- Linux 下如何安装软件?
http://zhidao.baidu.com/link?url=OkQCOZtVMXhasC8x9zFTZOumsFKf0WW25Ckr2wBF1xO08EsjrBpnMaTBlIAUYdxZ408 ...
- Linux环境下安装软件合集【1】
Linux环境下安装软件合集[1] 1 Linux环境下安装Node.js 1.1 通过wget直接安装 (1)wget不是安装方式 他是一种下载软件类似与迅雷 如果要下载一个软件 我们可以直接 wg ...
- 汽车linux操作系统怎么安装app,在Fedora Linux操作系统上安装软件的方法
本文教你在Fedora Linux操作系统上安装软件,以下提供的方法仅供新手阅读,高手就不必阅读了,因为内容非常的简单. 前言 与Ubuntu.Linux Mint和其他用户友好的操作系统相比,Fed ...
最新文章
- 这应该是你见过的最全前端下载总结
- mysql 新增从数据库_从零开始学 MySQL - 创建数据库并插入数据
- 职场上个人的核心技术_职场上的情绪管理
- C语言顺序表的定义以及各类操作
- MySQL高级知识(二)——Join查询
- Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(
- 图像拼接算法总结(一)
- 网站html超链接移动,HTML - 超链接
- celery(分布式任务队列)介绍+在django中异步回调使用+定时任务的使用
- 泰勒公式求极限与洛必达求极限比较_20160329
- 国际短信发不出去是怎么回事?
- 10个小技巧,让你的谱面更专业
- linux光标变成圆圈,Ubuntu字体美化之安装使用准圆字体(附图)
- CSU2020期中测试模拟题1 问题 B: 小帅要缴税
- omnet++,veins车辆间消息的传输、车辆运动信息获取
- 【2022应届生的入职感悟】
- 值得收藏的抖音唯美冬季古诗词文案分享
- Apollo control模块纵向控制原理及核心代码逐行解析
- 海思芯片部署MPP并验证功能
- 关于Delta 增量 (转)
热门文章
- C1. Simple Polygon Embedding(计算几何)
- AIDA64 5.92.4300 序列号
- 入职阿里1年后,我才真正见识到它的真实模样
- word中插入高分辨率图片,并且保存为PDF图片仍然高清的方法
- FAT32文件操作系统(主要针对SD卡)
- bootstrap,layui,elementui vantui的区别
- 8051蜂鸣器程序c语言,单片机驱动蜂鸣器C51程序
- 计算机专业英语影印版试题,计算机专业英语(2008影印版)复习资料
- Springboot入门级教程详解
- java 编写浏览器_java编写浏览器