一、目录结构【文件结构】

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)相关推荐

  1. NO9 Linux快捷键整理及最常用命令

    Linux快捷键整理及最常用命令 常用快捷键: Ctrl + u            删除光标之前到行首的字符 Ctrl + k            删除光标之前到行尾的字符 Ctrl + c   ...

  2. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  3. Linux查看文件和日志的常用命令

    Linux查看文件和日志的常用命令 当项目部署和运行起来后,会产生很多的运行日志.日志的内容是程序里定义的重要输出信息,还有程序出错的报错信息. 查看日志文件大部分是去日志中获取一些数据,确认某些信息 ...

  4. centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法

    Linux系统中安装软件的三种方法 注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部 Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1.文件位置 系 ...

  5. Linux查看已经安装软件的版本,安装软件的路径,以及dpkg、aptitude、apt-get、apt工具的使用

    Linux查看已经安装软件的版本,安装软件的路径,以及dpkg.aptitude.apt-get.apt工具的使用: 1 dpkg的使用 2 Linux查看已经安装的软件以及版本 2.1 Linux查 ...

  6. (一)专题介绍:移动端安卓手机改造成linux服务器linux服务器中安装软件、部署前后端分离项目实战

    快捷目录 前言 一.涉及到的相关技术简介 二.具体实现过程及踩坑杂谈 1.安卓手机改造成linux系统实现方案 2.改造后的手机Linux中软件的安装 3.手机Linux中安装MySQL5.7踩坑实录 ...

  7. linux系统中如何查看日志 (常用命令)

    linux系统中如何查看日志 (常用命令) cat  tail -f 日 志 文 件 说    明  /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用 ...

  8. Linux 下如何安装软件?

    http://zhidao.baidu.com/link?url=OkQCOZtVMXhasC8x9zFTZOumsFKf0WW25Ckr2wBF1xO08EsjrBpnMaTBlIAUYdxZ408 ...

  9. Linux环境下安装软件合集【1】

    Linux环境下安装软件合集[1] 1 Linux环境下安装Node.js 1.1 通过wget直接安装 (1)wget不是安装方式 他是一种下载软件类似与迅雷 如果要下载一个软件 我们可以直接 wg ...

  10. 汽车linux操作系统怎么安装app,在Fedora Linux操作系统上安装软件的方法

    本文教你在Fedora Linux操作系统上安装软件,以下提供的方法仅供新手阅读,高手就不必阅读了,因为内容非常的简单. 前言 与Ubuntu.Linux Mint和其他用户友好的操作系统相比,Fed ...

最新文章

  1. 这应该是你见过的最全前端下载总结
  2. mysql 新增从数据库_从零开始学 MySQL - 创建数据库并插入数据
  3. 职场上个人的核心技术_职场上的情绪管理
  4. C语言顺序表的定义以及各类操作
  5. MySQL高级知识(二)——Join查询
  6. Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(
  7. 图像拼接算法总结(一)
  8. 网站html超链接移动,HTML - 超链接
  9. celery(分布式任务队列)介绍+在django中异步回调使用+定时任务的使用
  10. 泰勒公式求极限与洛必达求极限比较_20160329
  11. 国际短信发不出去是怎么回事?
  12. 10个小技巧,让你的谱面更专业
  13. linux光标变成圆圈,Ubuntu字体美化之安装使用准圆字体(附图)
  14. CSU2020期中测试模拟题1 问题 B: 小帅要缴税
  15. omnet++,veins车辆间消息的传输、车辆运动信息获取
  16. 【2022应届生的入职感悟】
  17. 值得收藏的抖音唯美冬季古诗词文案分享
  18. Apollo control模块纵向控制原理及核心代码逐行解析
  19. 海思芯片部署MPP并验证功能
  20. 关于Delta 增量  (转)

热门文章

  1. C1. Simple Polygon Embedding(计算几何)
  2. AIDA64 5.92.4300 序列号
  3. 入职阿里1年后,我才真正见识到它的真实模样
  4. word中插入高分辨率图片,并且保存为PDF图片仍然高清的方法
  5. FAT32文件操作系统(主要针对SD卡)
  6. bootstrap,layui,elementui vantui的区别
  7. 8051蜂鸣器程序c语言,单片机驱动蜂鸣器C51程序
  8. 计算机专业英语影印版试题,计算机专业英语(2008影印版)复习资料
  9. Springboot入门级教程详解
  10. java 编写浏览器_java编写浏览器