pwd 指令
pwd
指令:显示当前目录的绝对路径,Linux的根目录是:"/"
callmewenhao@ubuntu:~$ pwd
/home/callmewenhao
ls 指令
ls
指令:显示当前文件夹中的文件和目录
ls -a
:显示当前文件夹中的文件和目录,包括隐藏的
ls -l
:以列表的方式显示信息
建议:ls -lh
callmewenhao@ubuntu:~$ ls -l
total 32
drwxr-xr-x 2 callmewenhao callmewenhao 4096 Mar 18 06:23 Desktop
drwxr-xr-x 2 callmewenhao callmewenhao 4096 Mar 18 06:23 Documents
drwxr-xr-x 2 callmewenhao callmewenhao 4096 Mar 18 06:23 Downloads
drwxr-xr-x 2 callmewenhao callmewenhao 4096 Mar 18 06:23 Music
drwxr-xr-x 2 callmewenhao callmewenhao 4096 Mar 18 06:23 Pictures
drwxr-xr-x 2 callmewenhao callmewenhao 4096 Mar 18 06:23 Public
drwxr-xr-x 2 callmewenhao callmewenhao 4096 Mar 18 06:23 Templates
drwxr-xr-x 2 callmewenhao callmewenhao 4096 Mar 18 06:23 Videos
callmewenhao@ubuntu:~$ ls -a
. .bash_history .bashrc .config Documents .gnupg Music .profile Templates .Xauthority
.. .bash_logout .cache Desktop Downloads .local Pictures Public Videos
Linux中的绝对路径和相对路径:
当前在
home
目录,则到a.txt的绝对路径是:/home/tom/a.txt
,相对路径是:tom/a.txt
cd 指令
cd ~
回到自己的家(当前用户下目录如:/home/callmewenhao
)目录
cd ..
回到当前目录的上一级目录
cd ../..
回到当前目录的上上一级目录,如:cd ../../root
使用cd
命令主要是学会绝对路径和相对路径,cd
后面可以跟绝对路径也可以跟相对路径,如:使用 cd /
回到根目录
mkdir 指令
mkdir
指令用于创建目录或多级目录
# 创建一个目录:
callmewenhao@ubuntu:~$ ls
callmewenhao@ubuntu:~$ mkdir project
callmewenhao@ubuntu:~$ ls
project
# 创建多级目录:
callmewenhao@ubuntu:~$ ls
callmewenhao@ubuntu:~$ mkdir -p project/yolo
callmewenhao@ubuntu:~$ ls
project
callmewenhao@ubuntu:~$ ls project
yolo
rmdir 指令
rmdir
指令删除空目录,如果目录下有内容时无法删除
删除非空目录,需要使用 rm -rf
callmewenhao@ubuntu:~$ rmdir project/yolo
callmewenhao@ubuntu:~$ ls project
callmewenhao@ubuntu:~$ ls
project
# rm -rf:强制地递归删除文件,使用该指令要谨慎
callmewenhao@ubuntu:~$ rmdir project
rmdir: failed to remove 'project': Directory not empty
callmewenhao@ubuntu:~$ rm -rf project
callmewenhao@ubuntu:~$ ls
(此时project已经被删除)
rm 指令
rm [-选项]
移除文件或目录
rm -r
:递归删除整个文件夹
rm -f
:强制删除不提示
rm -rf
强制递归删除整个文件夹,不提示**(常用)**
touch 指令
touch
创建一个空文件
callmewenhao@ubuntu:~$ cd project
callmewenhao@ubuntu:~/project$ touch a.cpp
callmewenhao@ubuntu:~/project$ ls
a.cpp
cp 指令(常用指令)
cp [-r] source dest
指令拷贝文件到指定目录,-r
递归拷贝整个文件
当第二次拷贝时会出现覆盖提示,使用 \cp
强制覆盖不提示
# cp 示范
callmewenhao@ubuntu:~$ ls
a.cpp project
callmewenhao@ubuntu:~$ ls yolo
callmewenhao@ubuntu:~$ ls project
main.cpp
# 使用绝对目录
callmewenhao@ubuntu:~$ cp /home/callmewenhao/a.cpp /home/callmewenhao/yolo
callmewenhao@ubuntu:~$ ls yolo
a.cpp
# 使用相对目录
callmewenhao@ubuntu:~$ touch b.cpp
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp project yolo
callmewenhao@ubuntu:~$ cp b.cpp yolo
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp
# 只要路径给对,命令在哪里执行都无所谓
callmewenhao@ubuntu:~$ touch c.cpp
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp c.cpp project yolo
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp
callmewenhao@ubuntu:~$ cd yolo
callmewenhao@ubuntu:~/yolo$ cp /home/callmewenhao/c.cpp /home/callmewenhao/yolo
callmewenhao@ubuntu:~/yolo$ ls
a.cpp b.cpp c.cpp
# 绝对目录和相对目录混用
callmewenhao@ubuntu:~/yolo$ rm -f c.cpp
callmewenhao@ubuntu:~/yolo$ ls
a.cpp b.cpp
callmewenhao@ubuntu:~/yolo$ cd ..
callmewenhao@ubuntu:~$ cp c.cpp /home/callmewenhao/yolo
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp c.cpp
# 复制文件夹
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp c.cpp
callmewenhao@ubuntu:~$ ls project
main.cpp
callmewenhao@ubuntu:~$ cp project yolo
cp: -r not specified; omitting directory 'project'
callmewenhao@ubuntu:~$ cp -r project yolo
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp c.cpp project
mv 指令
mv 指令移动文件与目录或重命名,甚至移动并且重命名
# 重命名
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp c.cpp
callmewenhao@ubuntu:~$ mv c.cpp d.cpp
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp d.cpp
# 重命名时,如果新文件名已经被文件占用,则会覆盖占用的文件
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp c.cpp d.cpp
callmewenhao@ubuntu:~$ cat c.cpp
this is c.cpp!
callmewenhao@ubuntu:~$ cat d.cpp
this is d.cpp!
callmewenhao@ubuntu:~$ mv c.cpp d.cpp
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp d.cpp
callmewenhao@ubuntu:~$ cat d.cpp
this is c.cpp!
# 移动文件到文件夹
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp d.cpp project yolo
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp c.cpp
callmewenhao@ubuntu:~$ mv d.cpp yolo
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp project yolo
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp c.cpp d.cpp
# 移动文件夹到另一个文件夹
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp project yolo
callmewenhao@ubuntu:~$ ls project
main.cpp
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp c.cpp d.cpp
callmewenhao@ubuntu:~$ mv project yolo
callmewenhao@ubuntu:~$ ls
a.cpp b.cpp yolo
callmewenhao@ubuntu:~$ ls yolo
a.cpp b.cpp c.cpp d.cpp project
callmewenhao@ubuntu:~$ ls yolo/project
main.cpp
cat 指令
cat 指令查看文件内容,cat -n
显示行号,cat 只能浏览文件,而不能修改文件;为了浏览方便,一般会带上管道命令|more
callmewenhao@ubuntu:~$ cat -n yolo/d.cpp
1 this is c.cpp!
callmewenhao@ubuntu:~$ cat -n yolo/d.cpp |more
more 指令
more 指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键(交互的指令),详见操作说明:
# 空格键(space) 代表向下翻一页
# Enter 代表向下翻『一行』
# q 代表立刻离开 more,不再显示该文件内容。
# Ctrl+F 向下滚动一屏
# Ctrl+B 返回上一屏
# = 输出当前行的行号
# :f 输出文件名和当前行的行号
less 指令
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
less filename
, q
退出
echo 指令
echo 指令输出内容到控制台
echo [选项] [输出内容]
echo 指令输出环境变量,比如 echo $PATH, echo $HOSTNAME
使用 echo "hello,world!"
指令输出 hello, world!
callmewenhao@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
callmewenhao@ubuntu:~$ echo $HOSTNAME
ubuntu
callmewenhao@ubuntu:~$ echo "hello, world!"
hello, world!
head 指令
head 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行
head 文件
(功能描述:查看文件头10行内容)
head -n 5 文件
(功能描述:查看文件头5行内容,5可以是任意行数)
tail 指令
tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后10行内容。
tail 文件
(功能描述:查看文件尾10行内容)
tail -n 5 文件
(功能描述:查看文件尾5行内容,5可以是任意行数)
tail -f 文件
(功能描述:实时追踪该文档的所有更新)
> & >>
echo content > filename
——向文件中覆盖写
ls -l > filename
将 ls -l
的内容覆盖写入 filename
echo content >> filename
——向文件中追加写
In 指令
软链接也称为符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径,其实是一个文件
ln -s [原文件或目录] [软链接名]
(功能描述:给原文件创建一个软链接)
在/home
目录下创建一个软连接myroot
,连接到/root
目录:ln -s /root /home/myroot
history 指令
查看已经执行过历史命令,也可以执行历史指令
history
:查看所有的历史指令
history 10
:查看最近10条历史指令
!n
:执行过去的的第n条指令
callmewenhao@ubuntu:~$ history 10
131 echo "hello, world!"
132 echo $path
133 echo $PATTH
134 echo $PATH
135 echo $HOSTNAME
136 ll
137 ls -l
138 clear
139 history
140 history 10
callmewenhao@ubuntu:~$ !131
echo "hello, world!"
hello, world!