Linux常用命令
1. 常用命令
1.查看当前所在目录(拷贝目录到一些配置文件)
pwd
2.切换目录(需要到特定的目录执行命令)
cd 目录名
Tab补全
3.查看目录文件信息
ls //列出文件信息
ls -l //以详细信息方式列出文件信息
ls –a //列出所有文件和文件夹,包含隐藏文件
ls -al //以详细信息方式列出所有文件信息,包含隐藏文件
ls 目录名 //查看该目录的文件信息
ll //等于ls -l
4.查看当前用户
whoami //查看当前操作用户
who am i //查看当前登录用户(有可能是有多个的)的信息
5.切换用户
su 用户名:切换用户
su root:普通用户切到root用户;
su - //切换到root用户
su - root //切换到root用户和su - 一样
su - user //切换到user用户
su user //切换到user用户,不切换用户权限
exit //注销当前用户,返回前一用户
注意:
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了
2. 文件相关命令
在学习文件相关命令之前,我们先来看一Linux的文件系统
2.1. 文件系统
(1)文件系统结构
Linux有个基本思想:一切都是文件。就是系统中的所有都可以归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。而这些文件是以一定的结构组织的。
linux系统的目录结构是一个以/(根目录)为根节点的树形结构
(2)系统目录介绍
/bin 存放二进制可执行文件(命令),所有用户都可以使用
/sbin 存放二进制可执行文件,只有root用户可以使用
/boot 系统启动需要的核心文件
/dev 设备文件
/home 用户的主目录,每一个非root用户都会在home有一个为用户名的文件夹
/lib 系统共享动态链接库
/mnt 挂载目录,通常挂载到该目录下
/etc 存放系统配置文件目录
/etc/passswd 用户信息文件
/etc/group 用户组信息文件
/var 用来存放常态性变动的文件,经常发生变化的文件。比如缓存、登录文件,mysql数据库文件等
/tmp 临时目录,用来存放临时文件
/proc 虚拟目录,是内存的映射,可以访问到内存中的系统信息
/sys 和proc类似,存放和内核相关的信息和数据
/root root用户的主目录
/usr 存放应用程序和文件(类似于windows的system32、program files目录)
/usr/local/src 所有应用程序包都放这儿
/usr/local/ 所有的应用程序都安装在这个目录。
/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充
2.2. 目录操作命令
讲具体目录命名之前我们需要定位我们的目录或文件,就需要掌握相对路径和绝对路径
(1)相对路径和绝对路径
绝对路径:
以/(根目录)开头的路径(例如/home、/etc/passwd)
相对路径:
以./开头的路径,./可以省略(指相对于当前路径)
./ 表示当前目录(可以省略) ./usr/loccal/=usr/local
../ 表示上一级目录(两个点)
路径的最后一个斜杠可以省略
(2)命令
创建目录
mkdir 目录名 //创建一个目录
mkdir -p 目录1/目录2/目录3 //递归创建目录
删除目录
rm -rf 路径 //可以删除文件和目录 -r(递归) -f(暴力)
移动目录
mv dir1 dir2 如果dir2不存在,将dir1目录名修改为dir2(重命名),否则将dir1目录移动到dir2中
目标路径存在,就是移动,不存在就是重命名.
mv d1 d2/d3 如果d2存在d3不存在,把d1移动到d2中并且改名为d3,否则把d1移动到d2/d3下面
总结:是移动还是重命名,就看第二个参数路径是否存在。存在就移动,不存在就改名。
复制目录
cp -rf dir1 dir2 //将dir1复制一份到dir2目录(包含目录内容一起复制)
cp -rf dir1/* dir2 //直接复制内容(非常重要)
特殊路径和快速切换路径
特殊目录 ~ 表示用户主目录
快速切换目录
cd ~ //切换到用户主目录
cd - //切换到上次目录
2.3. 文件相关命令
创建文件
touch 文件路径 //创建一个空白文件
查看文件内容
cat //将文件内容直接显示出来
more //将文件内容分屏显示(按回车显示下一行,按空格显示下一屏)Ctrl+C退出
less //将文件内容分页显示(pageup上一页,pagedown或空格下一页,回车显示下一行,q退出)
head //显示文件的前面几行内容
head -n 3 1.txt //显示文件前3行内容
head -n -3 1.txt //显示文件内容,除了最后3行
tail //显示文件后几行内容
tail -n 3 1.txt //显示文件后3行内容
tail -n +3 1.txt //显示文件内容,除了最开始3行
tail -f //动态显示文件内容,默认十行,可以配合-n使用
tail -n 3 -f 1.txt //动态显示文件后3行内容(查看最新日志(实时更新))
添加内容到文件
> 和 >> //输出重定向,> 覆盖写 , >> 追加写
echo hello > 1.txt //以覆盖写的方式将hello字符添加到文件1.txt
echo world >> 1.txt //以追加的方式将world字符添加到文件1.txt
cat 2.txt > 1.txt //将2.txt文件的内容覆盖到1.txt
cat 2.txt >> 1.txt //将2.txt文件的内容追加到1.txt
查找文件
find
直接从硬盘查找文件,搜索速度慢,但是能实时搜索
参数
–name //以文件名作为参数进行查找
-mindepth //最小目录层次
-maxdepth //最大目录层次
其他参数通过man或者--help参数学习
示例:find -maxdepth 3 -name passwd