2-1 常用命令
常用命令
路径
绝对路径:
/home/zhangsan/mywork/work1.txt
相对路径:
当前工作目录下的,符号
.
表示或省略符号直接跟文件名。例cat ./test.txt
cat test.txt
。当前工作目录的父目录,符号
..
表示。例cd ..
返回上级目录。
绝对路径 VS 相对路径: 绝对路径更准确,相对路径更短使用方便。tips: tab
自动补全路径。
(拓展)Windows路径 VS Linux路径:
windows根目录为\
但实际会省略,以盘符开头如C:\
,目录分隔为反斜杠\
。
在Powershell终端中,兼容正斜杠的写法和ls命令,路径参数需要作为字符串传入如cd 'C:\dir1\dir2'
。
正在过时的cmd终端中,使用dir命令,路径可以不作为字符串cd C:\
。
代码文件最终要部署在linux服务器上,编程代码中的字符串路径为了同时在windows开发环境和linux生产环境运行,路径字符串写反斜杠时需要转移字符\\
表示反斜杠\
, 是不是晕了,最佳实践是,在windows中编程或powershell终端里时,都使用linux中的路径写法。
基础命令
(桌面版linux系统中,用资源管理器查看结果更易于理解) (linux的哲学认为,如果命令执行成功,那么不通知信息即代表无问题)
pwd: 查看当前工作目录
cd: 切换工作目录到其它目录。搭配绝对路径和相对路径使用。
ls: 展示文件夹下所有文件。
ls /etc
。-l
参数展示详细信息,-a
展示隐藏文件,-i
展示文件inode。touch: 创建文件。后缀有没有并不重要,后缀只是为了让系统知道用什么应用打开,重要的是内容和信息编码方式。 文件主要分为纯文本文件(.txt .py .js)和非纯文本(.word .mp4 .rar .jpg)。
mkdir: 创建目录。例创建单个目录
mkdir dir1
, 一次创建多个mkdir dir1 dir2
, 创建多级目录mkdir -p dir1/subdir1
。cp: 复制文件。第一个参数是源地址,第二个参数是目的地址。例
cp /etc/someconfig /etc/someconfig.bak
。mv: 移动(剪切)文件。第一个参数是源地址,第二个参数是目的地址。例
mv /home/user1/a.txt /home/user2/b.txt
,当目录不变时相当于重命名。rm: 删除文件。例如
rm ./a.txt
,参数-r表示递归将会删除文件夹下的所有文件rm -r ./dir1
,-f
强制删除无视提示,网上经常有个段子sudo rm -rf /*
这个命令非常危险。man: 查看命令的文档,按方向键浏览,按
q
退出。cat: 查看文本文件内容。类似命令
head
查看文件内容前几行,tail
查看文件内容后几行。more
按空格加载下一页。grep: 正则匹配筛选内容,常与其它命令搭配,
cat /proc/cpuinfo | grep name
,ip addr | grep ipv4
ln: 链接。软连接类似 详情暂略。
其它的常用名用到时再说。
文本编辑器
Vim
vim test.txt
普通模式: 只读
编辑模式: 按
i
进入,按esc
退出 返回至普通模式。命令模式: 按
:
进入,按esc
退出 返回至普通模式。输入命令后回车
确认,常用的命令有w
保存写入(要求用户对文件有写权限)、q
退出vim编辑器(如果有未保存的修改信息会提示)、!
强制,wq
保存修改后退出编辑器,q!
强制退出编辑器不论是否保存。 与Windows记事本思维比较不一样。通常我们会打开一个文件,按i
开始编辑修改文本,按:
输入wq
退出。
nano
部分linux没有预装需要安装。 nano test.txt
在界面上会提示快捷键ctrl+O
保存, ctrl+X
。 思维接近Windows记事本。
通过ssh客户端或ftp客户端编辑
略
作业
在
/home/zhangsan
文件夹下新建文件夹dir1
, 在/home/zhangsan/dir1
下新建文件zhangsan.txt
。 使用vim或nano打开zhangsan.txt
,随意输入一些文字张三巴拉巴拉
。练习本文档中所有基础命令,尝试不同的参数、功能、路径。
(选做)查询中英文对照,以理解记忆命令。通过man命令或百度,查询常用命令和参数是什么单词的缩写,例rm->remove,-r参数 recursion递归 -f参数 force强制。