Linux系统操作命令
1.linux目录结构
不同于 Windows 系统的⽂件路径的起点是盘符, Linux 系统的路径起点是'/'
(根⽬录)
注意:
- 1. / 为根⽬录, 是所有⽂件的路径的起点
- 2. 根⽬录下的所有第⼀层级的⽂件夹, 均不能随意进⾏修改操作
- 3. 掌握常⽤⽬录的作⽤即可
- 4. / 根⽬录, /home 普通⽤户所在⽂件夹, /root 系统管理员所在⽂件夹
- 5. 其余⽬录, 可以现⽤现查即可
Linux常见目录介绍
/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。
/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。(可执行文件)
/boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,
- ~表示当前用户的家目录,
- ~edu 表示用户 edu 的家目录。
/lib: /usr/lib: /usr/local/lib系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。
/mnt:/media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。
/opt:给主机额外安装软件所摆放的目录。
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/ 等。
/root:系统管理员root的家目录。(超级用户)
/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
/tmp**:**一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。
/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。
常用命令简介
Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等
在职场中,大量的 服务器维护工作 都是在 远程 通过 SSH 客户端 来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成
在职场中,作为后端程序员,必须要或多或少的掌握一些 Linux 常用的终端命令
Linux 发行版本的命令大概有 200 多个,但是常用的命令只有 10 多个而已
学习终端命令的技巧:
- 不需要死记硬背,对于常用命令,用的多了,自然就记住了
- 不要尝试一次学会所有的命令,有些命令是非常不常用的,临时遇到,临时百度就可以
常用 Linux 命令的基本使用
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print wrok directory | 查看当前所在文件夹 |
03 | cd [目录名] | change directory | 切换文件夹 |
04 | touch [文件名] | touch | 如果文件不存在,新建文件 |
05 | mkdir [目录名] | make directory | 创建目录 |
06 | rm [文件名] | remove | 删除指定的文件名 |
07 | clear | clear | 清屏 |
小技巧
- ctrl + shift + = 放大终端窗口的字体显示
- ctrl + - 缩小终端窗口的字体显示
自动补全
在敲出 文件/目录/命令 的前几个字母之后,按下 tab 键
如果输入的没有歧义,系统会自动补全
如果还存在其他 文件/目录/命令,再按一下 tab 键,系统会提示可能存在的命令
小技巧
按 上/下 光标键可以在曾经使用过的命令之间来回切换
如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
cd 切换目录
重点
cd /home 绝对路径,以根目录开头
cd admin 相对路径 不以根目录开头。(进入某个文件夹,其中必须存在)
cd .. 返回上级目录
cd ~ 到自己的家目录 /home/admin
cd - 电视回看功能。
pwd 查看当前目录
ls 查看文件
ls是英文单词list的缩写,期功能为列出目录的内容,是用户最常用的目录之一,它类似于DOS下的dir命令。
Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“…”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
ls -lah
ls常用选项
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表的方式显示文件的详细信息 |
-h | 配合-l以人性化的方式显示文件大小 |
ll 列出的信息含义如下图所示:
与DOS下的文件操作类似,在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。
通配符 | 含义 |
---|---|
* | 文件代表文件名中所有字符 |
ls te* | 查找以te开头的文件 |
ls *html | 查找结尾为html的文件 |
? | 代表文件名中任意一个字符 |
ls ?.c | 只找第一个字符任意,后缀为.c的文件 |
ls a.? | 只找只有3个字符,前2字符为a.,最后一个字符任意的文件 |
[] | [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从a到f范围内的的任意一个字符 |
ls [a-f]* | 找到从a到f范围内的的任意一个字符开头的文件 |
ls a-f | 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用 |
\ | 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。 |
ls | a 查找文件名为a的文件 |
drwxrwxr-x d 代表文件夹 - 代表文件
rwx rwx r-x r可读 w可写 x执行
第一组指的是文件拥有者的权限,第二组大表文件拥有的组的权限,第三组代表其他用户的权限。
所有用户都有tmp文件夹的操作权限。
ls查看当前文件夹下的内容
ls只能显示普通文件夹
ls 查看目录的内容
ls
ls -l 显示详细列表
ls -lh(h指人性化) 把文件大小以人性化的方式显示
ls -a(all) 显示所有的文件,包含隐藏文件,隐藏文件是.开头的文件
ll 等于 ls -l
mkdir 创建文件夹
mkdir 创建文件夹
mkdir tupian 在当前目录下创建文件夹
mkdir /home/admin/tupian 以绝对路径创建文件夹
mkdir /home/admin/a/tupian -p 如果上级目录不存在,加上-p自动创建父目录
mkdir a b 在当前目录创建多个文件夹
mkdir a/{c,d} 在指定目录下创建多个文件夹
mkdir .abc 以.开头,是创建隐藏文件夹
touch 创建文件
touch 作用是创建一个空文件
touch abc.txt 在当前目录下创建文件 如果指定了目录,必须保证上级目录存在
touch .abc 创建隐藏文件
gedit abc.txt 使用记事本文件打开
rm 删除文件
rm 删除文件
rm a.txt 删除文件
rm abc -r 删除文件夹
rm * 不能删除隐藏文件
clear 清屏
清屏
Linux终端命令格式
终端命令格式
command [-options] [parameter]
说明:
command #命令名,相应功能的英文单词或单词的缩写;
[-options] #选项,可用来对命令进行控制,也可以省略;
parameter #传给命令的参数,可以是零个、一个或者多个;
[] #代表可选;
查阅命令帮助信息
2.1、–help
command --help
说明:显示 command 命令的帮助信息;
2.2、man
man command
说明:
1、查阅 command 命令的使用手册;
2、man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用说明;
使用 man 时的操作键:
空格键 显示手册页的下一屏
Enter 键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索 word 字符串
cp 拷贝
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
常用选项说明: cp [options] 源文件 目标位置
cp 1.txt 2.txt
选项 | 含义 |
---|---|
-f | 已经存在的目标文件而不提示 |
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有 |
-v | 显示拷贝进度 |
cp 拷贝文件
cp 1.txt 2.txt
cp abc abc_bak -r 拷贝文件夹
mv 移动、重命名
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
mv 1.txt 2.txt
常用选项说明:
选项 | 含义 |
---|---|
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的 |
-v | 显示移动进度 |
mv 移动 重命名
mv 1.txt 2.txt 重命名
mv abc ~ 移动到指定目录
注意,如下形式,mv 4.txt /home/admin/4.txt_bak
如果后面目标文件不存在,就是改名,如果存在,就是覆盖。如果后面是文件夹,就是移动到指定目录。
输出重定向命令:>
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
ls > test.txt #(test.txt 如果不存在,则创建,存在则覆盖其内容 )
ls >> test.txt #(test.txt 如果不存在,则创建,存在则往其中追加内容 )
注意: >输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。
重定向
ls > 1.txt 把命令返回的结果输出到文件中,会覆盖之前的内容,默认情况返回的结果是显示在屏幕中
ls >> 1.txt 把命令返回的结果输出到文件中,追加的方式
查看或者合并文件内容:cat
查看文件的内容,可以结合重定向符来合并文件
cat 查看文件内容
cat 1.txt 把文件的内容全部显示到屏幕中
cat 1.txt 2.txt
cat 1.txt 2.txt > 3.txt 把多个文件的内容合并到新的文件中
分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。
cat命令默认显示最后一页
more查看文件内容,可以分页显示
more 1.txt 查看内容多的文件,按空格键往下翻页,按b按键往回翻页,按q键退出
管道:
|
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。
如上图:ls的输出给more做输入
管道 |
ls -l / | more 把左边的命令返回的结果给右边命令进行处理
建立链接文件:ln
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:
硬链接
ln 源文件 链接文件
软链接
ln -s 源文件 链接文件
如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。