Linux 基础知识
基本命令
cd:用于切换当前工作目录。
jianghouren@jianghourendeMacBook-Pro ~ % cd test
jianghouren@jianghourendeMacBook-Pro test %
在 test 目录跳转到 Downloads 目录
jianghouren@jianghourendeMacBook-Pro test % cd ~/Downloads
jianghouren@jianghourendeMacBook-Pro Downloads %
// cd ~ 是跳到自己的 home 目录。相当于 cd /Users/jianghouren 。
// 若目录名称省略,则变换至使用者的 home 目录,也就说 cd 相当于 cd ~ 。
jianghouren@jianghourendeMacBook-Pro test % cd ~
jianghouren@jianghourendeMacBook-Pro ~ % pwd
/Users/jianghouren
jianghouren@jianghourendeMacBook-Pro ~ % cd test
jianghouren@jianghourendeMacBook-Pro test % cd /Users/jianghouren/Downloads
jianghouren@jianghourendeMacBook-Pro Downloads %
pwd:查看当前目录的具体位置。
jianghouren@jianghourendeMacBook-Pro test % pwd
/Users/jianghouren/test
jianghouren@jianghourendeMacBook-Pro test %
mkdir:创建目录。
jianghouren@jianghourendeMacBook-Pro test % ls
// 创建目录 111
jianghouren@jianghourendeMacBook-Pro test % mkdir 111
jianghouren@jianghourendeMacBook-Pro test % ls
111
jianghouren@jianghourendeMacBook-Pro test %
创建多层级目录
jianghouren@jianghourendeMacBook-Pro test % mkdir -p 1/2/3
jianghouren@jianghourendeMacBook-Pro test % ls
1
jianghouren@jianghourendeMacBook-Pro test % cd 1
jianghouren@jianghourendeMacBook-Pro 1 % cd 2
jianghouren@jianghourendeMacBook-Pro 2 % cd 3
jianghouren@jianghourendeMacBook-Pro 3 %
cd … 是返回上层级目录,而 cd - 是返回上次操作的工作目录。
jianghouren@jianghourendeMacBook-Pro test % ls
1
jianghouren@jianghourendeMacBook-Pro test % cd 1/2/3
// 跳到目前目录的上三层
jianghouren@jianghourendeMacBook-Pro 3 % cd ../../..
// 回到上次操作的目录
jianghouren@jianghourendeMacBook-Pro test % cd -
~/test/1/2/3
jianghouren@jianghourendeMacBook-Pro 3 % cd -
~/test
jianghouren@jianghourendeMacBook-Pro test % cd -
~/test/1/2/3
jianghouren@jianghourendeMacBook-Pro 3 % cd ..
jianghouren@jianghourendeMacBook-Pro 2 % cd ..
jianghouren@jianghourendeMacBook-Pro 1 % cd ..
jianghouren@jianghourendeMacBook-Pro test %
ls:显示当前目录下的信息。
可通过 ls -alt 来查看(其中,a 指所有的,l 指列表,t 指倒序)。
jianghouren@jianghourendeMacBook-Pro test % ls
111 222
jianghouren@jianghourendeMacBook-Pro test % ls -a
. .. .DS_Store 111 222
jianghouren@jianghourendeMacBook-Pro test % ls -al
total 16
drwxr-xr-x 5 jianghouren staff 160 3 12 22:43 .
drwxr-xr-x+ 55 jianghouren staff 1760 3 12 22:22 ..
-rw-r--r--@ 1 jianghouren staff 6148 3 12 11:48 .DS_Store
drwxr-xr-x 4 jianghouren staff 128 3 12 22:13 111
drwxr-xr-x 2 jianghouren staff 64 3 12 22:43 222
jianghouren@jianghourendeMacBook-Pro test % ls -alt
total 16
drwxr-xr-x 5 jianghouren staff 160 3 12 22:43 .
drwxr-xr-x 2 jianghouren staff 64 3 12 22:43 222
drwxr-xr-x+ 55 jianghouren staff 1760 3 12 22:22 ..
drwxr-xr-x 4 jianghouren staff 128 3 12 22:13 111
-rw-r--r--@ 1 jianghouren staff 6148 3 12 11:48 .DS_Store
jianghouren@jianghourendeMacBook-Pro test %
代码块中:. 代表当前目录,…代表上级目录。
jianghouren@jianghourendeMacBook-Pro test % cd .
jianghouren@jianghourendeMacBook-Pro test % ls -alt
total 16
drwxr-xr-x 4 jianghouren staff 128 3 12 11:48 .
drwxr-xr-x 2 jianghouren staff 64 3 12 11:48 111
-rw-r--r--@ 1 jianghouren staff 6148 3 12 11:48 .DS_Store
drwxr-xr-x+ 55 jianghouren staff 1760 3 12 11:44 ..
jianghouren@jianghourendeMacBook-Pro test % cd ..
jianghouren@jianghourendeMacBook-Pro ~ %
代码块中:drwxr-xr-x,d 代表目录,rwxr-xr-x 代表权限。
jianghouren@jianghourendeMacBook-Pro test % cd 111
jianghouren@jianghourendeMacBook-Pro 111 % ls
// 新建一个文件,并写入内容。
jianghouren@jianghourendeMacBook-Pro 111 % echo "123456" >> 1.txt
jianghouren@jianghourendeMacBook-Pro 111 % ls
1.txt
jianghouren@jianghourendeMacBook-Pro 111 % ls -alt
total 8
// - 代表这是普通文件。
-rw-r--r-- 1 jianghouren staff 7 3 12 18:24 1.txt
drwxr-xr-x 3 jianghouren staff 96 3 12 18:24 .
drwxr-xr-x 4 jianghouren staff 128 3 12 11:48 ..
jianghouren@jianghourendeMacBook-Pro 111 %
cp:copy 的简写,拷贝文件。
jianghouren@jianghourendeMacBook-Pro test % echo "aaaa" >> 5.txt
jianghouren@jianghourendeMacBook-Pro test % ls
5.txt
jianghouren@jianghourendeMacBook-Pro test % cp 5.txt 1.txt
jianghouren@jianghourendeMacBook-Pro test % ls
1.txt 5.txt
jianghouren@jianghourendeMacBook-Pro test %
将当前子目录中的 111 目录下的 1.txt 文件,拷贝到当前目录中。
jianghouren@jianghourendeMacBook-Pro test % cp ./111/1.txt .
jianghouren@jianghourendeMacBook-Pro test % ls
1.txt 111
jianghouren@jianghourendeMacBook-Pro test % ls ./111
1.txt
jianghouren@jianghourendeMacBook-Pro test %
cat:查看文件内容。
jianghouren@jianghourendeMacBook-Pro test % cat 1.txt
123456
jianghouren@jianghourendeMacBook-Pro test %
rm:删除文件或目录。
jianghouren@jianghourendeMacBook-Pro test % ls
1.txt 111
// 删除文件。
jianghouren@jianghourendeMacBook-Pro test % rm 1.txt
jianghouren@jianghourendeMacBook-Pro test % ls
111
// 这样是不可以删除目录的。
jianghouren@jianghourendeMacBook-Pro test % rm 111
rm: 111: is a directory
// 删除目录。r 代表循环,f 代表强制。
jianghouren@jianghourendeMacBook-Pro test % rm -rf 111
jianghouren@jianghourendeMacBook-Pro test % ls
jianghouren@jianghourendeMacBook-Pro test %
sudo:切换当前用户的权限,比如切换到 root。
jianghouren@jianghourendeMacBook-Pro test % id
uid=501(jianghouren) ......
// 通过 root 来创建目录。
jianghouren@jianghourendeMacBook-Pro test % sudo mkdir 222
Password:
jianghouren@jianghourendeMacBook-Pro test % ls
222
jianghouren@jianghourendeMacBook-Pro test % ls -alt
total 16
drwxr-xr-x 4 jianghouren staff 128 3 12 19:00 .
// 可以看到,这里的创建者是 root。
drwxr-xr-x 2 root staff 64 3 12 19:00 222
-rw-r--r--@ 1 jianghouren staff 6148 3 12 11:48 .DS_Store
drwxr-xr-x+ 55 jianghouren staff 1760 3 12 11:44 ..
// 通过普通权限来创建目录。
jianghouren@jianghourendeMacBook-Pro test % mkdir 111
jianghouren@jianghourendeMacBook-Pro test % ls -alt
total 16
drwxr-xr-x 5 jianghouren staff 160 3 12 19:00 .
// 可以看到,这里 111 目录和 222 目录的创建者是不同的。
drwxr-xr-x 2 jianghouren staff 64 3 12 19:00 111
drwxr-xr-x 2 root staff 64 3 12 19:00 222
-rw-r--r--@ 1 jianghouren staff 6148 3 12 11:48 .DS_Store
drwxr-xr-x+ 55 jianghouren staff 1760 3 12 11:44 ..
jianghouren@jianghourendeMacBook-Pro test %
下面可以看到,222 目录是可以通过普通权限删除的,这是因为 222 目录属于 test 的子目录,而 test 目录是由 jianghouren 创建的,所以可以通过 jianghouren 权限来删除。
jianghouren@jianghourendeMacBook-Pro test % ls
111 222
jianghouren@jianghourendeMacBook-Pro test % rm -rf 222
jianghouren@jianghourendeMacBook-Pro test % ls
111
jianghouren@jianghourendeMacBook-Pro test %
但当进入到 222 目录后,此时权限是属于 root 的,再使用 jianghouren 权限来进行创建和删除目录便不可以了。
jianghouren@jianghourendeMacBook-Pro test % cd 222
jianghouren@jianghourendeMacBook-Pro 222 % sudo mkdir 333
jianghouren@jianghourendeMacBook-Pro 222 % ls
333
jianghouren@jianghourendeMacBook-Pro 222 % mkdir 444
mkdir: 444: Permission denied
jianghouren@jianghourendeMacBook-Pro 222 % rm -rf 333
rm: 333: Permission denied
jianghouren@jianghourendeMacBook-Pro 222 % ls
333
jianghouren@jianghourendeMacBook-Pro 222 % sudo rm -rf 333
jianghouren@jianghourendeMacBook-Pro 222 % ls
jianghouren@jianghourendeMacBook-Pro 222 %
其他:Mac 平台下,control + l 可以清屏。
安装工具
apt:Ubuntu
brew:Mac
yum:Centos
Vim 基本操作
基本命令:
-
vim 1.txt --> 创建文件(如果不存在)并进入编辑模式
-
:w --> 保存文件
-
:q --> 退出文件
-
:wq --> 保存退出
-
i --> 编辑模式
-
h 左、l 右、k 上、j 下–> 光标移动(退出编辑模式下)
-
yy 复制,p 粘贴,dd 删除。(退出编辑模式下)
-
按 esc 退出编辑模式
Linux 中的环境变量
环境变量:
三个重要的环境变量:
- PATH(执行的命令)。
比如 ls 命令其实会到 PATH 环境变量中去寻找
jianghouren@jianghourendeMacBook-Pro ~ % which ls
/bin/ls
jianghouren@jianghourendeMacBook-Pro ~ %
-
PKG_CONFIG_PATH(pkg-config)。
通过
pkg-config + 参数
来使用库文件。使用的库文件也是到 PKG_CONFIG_PATH 中寻找。pkg-config 命令主要为使用 C/C++ 开发应用程序时,链接库时使用。
-
LD_LIBRARY_PATH。
环境变量的变更:
在 Windows 中,通过设置环境变量在尾部添加。
Linux 平台下:
~/.bashrc
(表示当前用户工作目录下的 .bashrc 文件设置环境变量)
Mac 平台下:
通过 env
来查看环境变量,通过 env | grep PATH
查看 PATH。
通过 vim ~/.bash_profile
来编辑(~/.bash_profile
表示当前用户工作目录下的 .bash_profile 文件设置环境变量)
当设置完毕后,执行 source ~/.bash_profile
来生效。
备注
参考资料:
慕课网-音视频基础(李超)
欢迎关注微信公众号:非也缘也