Linux我是跟着韩顺平的教程学的。Linux命令超级多,推荐随便找一本linux 书,视频讲到哪里在书上在找到相应部分学习,哪个命令没学过可以使用 命令 --help
或者 man 命令
查看具体用法或者问问度娘,谷大爷。
上机操作: ① 腾讯云实验室 ② 实验楼 ③ 虚拟机装Linux ④ 树莓派 这些都挺不错的
不会因为我是腾讯云版主才推荐的,初学者刚刚使用Linux往往特别不习惯命令行下操作在实验室左侧正好可以看到Linux的目录结构,非常方便。附上Linux的目录结构和用途
一、目录操作
①创建目录
使用 mkdir 命令创建目录
mkdir $HOME/testFolder
②切换目录
使用 cd 命令切换目录
cd $HOME/testFolder
使用 cd ../ 命令切换到上一级目录
cd ../
③移动目录
使用 mv 命令移动目录
mv $HOME/testFolder /var/tmp
④删除目录
使用 rm -rf 命令删除目录
rm -rf /var/tmp/testFolder
⑤查看目录下的文件
使用 ls 命令查看 /etc
目录下所有文件和文件夹
ls /etc
二、文件操作
① 创建文件
使用 touch 命令创建文件
touch ~/testFile
执行 ls
命令, 可以看到刚才新建的 testFile 文件
>ls ~
~是当前用户的家目录
1. 不带任何选项列出文件
不带选项的ls命令来光秃秃地列出文件和目录,我们是不能看到像文件类型、大小、修改日期和时间、权限以及链接这样具体的信息的。
2 带 –l 选项列出文件列表
你看,ls -l(-l是字母不是“1”)就能展示出是文件还是目录,它的大小、修改日期和时间、文件或目录的名字以及文件的属主和它的权限。
3. 浏览隐藏文件
列出所有文件包括以‘.’开头的隐藏文件。
ls -a
4. 用 -lh 选项来以易读方式列出文件
用-lh组合选项,以易读方式来显示大小。
ls -lh
5. 以尾部以‘/’字符结尾的方式列出文件和目录
使用 ls 命令的 -F 选项,会在每个目录的末尾添加“/”字符显示。
ls -F
6. 倒序列出文件
ls -r 选项能以倒序方式显示文件和目录。
ls -r
7. 递归列出子目录
ls -R 选项能列出非常长的目录树,来看看示例输出:
ls -R
8. 以修改时间倒序列出
带-ltr组合选项能以文件或目录的最新修改时间的次序来显示它们。
ls -ltr
9. 按文件大小排序
带-lS组合选项能按文件从大到小的次序显示。
ls -lS
10. 显示文件或目录的索引节点号
我们有时候可以看到一些数字打印在文件或目录名之前,带-i选项就能列出文件或目录的索引节点号。
ls -i
11. 显示ls命令的版本
查看ls命令的版本。
ls --version
12. 显示帮助页面
列出ls命令的选项帮助页面。
ls --help
13. 列出目录信息
用ls -l命令列出/tmp目录下的文件,其中-ld参数可以只显示/tmp目录的信息。
② 复制文件
使用 cp 命令复制文件
cp ~/testFile ~/testNewFile
③ 删除文件
使用 rm 命令删除文件, 输入 y
后回车确认删除
rm ~/testFile
rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
1.命令格式:
rm [选项] 文件…
2.命令功能:
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
3.命令参数:
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
④ 查看文件内容
使用 cat 命令查看 .bash_history 文件内容
cat ~/.bash_history
三、过滤, 管道与重定向
① 过滤
过滤出 /etc/passwd 文件中包含 root
的记录
grep 'root' /etc/passwd
递归地过滤出 /var/log/ 目录中包含 linux
的记录
grep -r 'linux' /var/log/
② 管道
简单来说, Linux 中管道的作用是将上一个命令的输出作为下一个命令的输入, 像 pipe 一样将各个命令串联起来执行, 管道的操作符是 |
比如, 我们可以将 cat 和 grep 两个命令用管道组合在一起
cat /etc/passwd | grep 'root'
过滤出 /etc 目录中名字包含 ssh
的目录(不包括子目录)
ls /etc | grep 'ssh'
③ 重定向
暑假看C Primer Plus 时在看第8章字符输入 输出和输入确认时就发现 重定向这部分没看懂,稍后补上重定向在Linux下操作的截图
可以使用 > 或 < 将命令的输出重定向到一个文件中
echo 'Hello World' > ~/test.txt
四、运维常用命令
① ping 命令
对 cloud.tencent.com 发送 4 个 ping 包, 检查与其是否联通
ping -c 4 cloud.tencent.com
② netstat 命令
netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等
列出所有处于监听状态的tcp端口
netstat -lt
查看所有的端口信息, 包括 PID 和进程名称
netstat -tulpn
③ ps 命令
过滤得到当前系统中的 ssh 进程信息
ps -aux | grep 'ssh'
在文本中查找grep 使用格式 grep '关键字' 文件名
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。
linux 下几个命令可以连起来写 ps -aux
PS 命令是什么
查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。
这里有在日常生活中使用较多的ps命令的例子。
- 不加参数执行ps命令
这是一个基本的 ps 使用。在控制台中执行这个命令并查看结果。
不加选项执行ps命令
结果默认会显示4列信息。
PID: 运行着的命令(CMD)的进程编号
TTY: 命令所运行的位置(终端)
TIME: 运行着的该命令所占用的CPU处理时间
CMD: 该进程所运行的命令
这些信息在显示时未排序。
- 显示所有当前进程
使用 -a 参数。-a 代表 all。同时加上x参数会显示没有控制终端的进程。
ps -ax
这个命令的结果或许会很长。为了便于查看,可以结合less命令和管道来使用。
ps -ax | less
ps all 信息
- 根据用户过滤进程
在需要查看特定用户进程的情况下,我们可以使用 -u 参数。比如我们要查看用户'pungki'的进程,可以通过下面的命令:
ps -u user
-u userlist
Select by effective user ID (EUID) or name. This selects the processes
whose effective user name or ID is in userlist.
通过用户过滤
- 通过cpu和内存使用来过滤进程
也许你希望把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 aux 参数,来显示全面的信息:
ps -aux | less
将ps -aux 命令的结果通过管道发给less。
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,
只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,
更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
显示全面信息
当结果很长时,我们可以使用管道和less命令来筛选。
默认的结果集是未排好序的。可以通过 --sort命令来排序。
根据 CPU 使用来升序排序
ps -aux --sort -pcpu | less
根据 内存使用 来升序排序
ps -aux --sort -pmem | less
根据内存使用来排序
我们也可以将它们合并到一个命令,并通过管道显示前10个结果:
ps -aux --sort -pcpu,+pmem | head -n 10
- 通过进程名和PID过滤
使用 -C 参数,后面跟你要找的进程的名字。比如想显示一个名为getty的进程的信息,就可以使用下面的命令:
ps -C netns
通过进程名和PID过滤
如果想要看到更多的细节,我们可以使用-f参数来查看格式化的信息列表:
ps -f -C getty
通过进程名和PID过滤
最后我们来回顾一下文章:
① 目录操作
- 创建目录
- 切换目录
- 移动目录
- 删除目录
- 查看目录下的文件
② 文件操作
- 创建文件
- 复制文件
- 删除文件
- 查看文件内容
③ 过滤, 管道与重定向
- 过滤
- 管道
- 重定向
④ 运维常用命令
- ping 命令
- netstat 命令
- ps 命令 重点说了这一部分ps可以给出当前系统中进程