这是linux笔记系列文章的最后一篇了。本来还是有一些内容的,但发现平常都很少用到,例如系统工作调度、系统账号管理、系统服务等,所以这些就不做记录了。
而shell脚本的内容,也是用到了再去查就行,语法跟其他语言类似,主要还是要掌握常用命令的使用。最后一篇就记录一些常用命令。
删除文件夹:
rm -rf path/to/
修改文件【拥有者|用户组|其他用户】权限:
chmod 764 path/to
表示使path/to目录的所有者:7(111,读写执行权限),组用户:6(110,读写),其他用户:4(100,读)chmod +r
表示增加读权限,+w加写,+x加执行。-r对应减去。可以直接chmod +rwx
。对所有用户加读写执行权限:chmod a+rwx path/to/file
- 上面只是指定目录或文件,而子目录没有修改,修改子目录要添加 -R(Recursively,注意大写)参数,表示递归所有子目录。跟
rm -rf ./
的-r一样作用。
查看某个命令的绝对路径:
which [命令]
建立连接文件:
- 软连接:
ln -s path/source path/dist
,在当前目录下建立一个链接path/dist,指向path/source。 - 硬链接:
ln path/source path/dist
- 软连接:
筛选grep:grep可以使用正则表达式搜索文本,并且将匹配的行打印出来
管道符:“|”将两个命令分开,前一个的命令输出会成为后面一个命令的输入(标准输入stdin)。常用
[命令] | grep
将第一个命令输出的内容通过grep命令过滤某些字符输出。注意有一些命令例如ls命令期待的是命令行参数不是标准输入,所以不能用ls | ls
,要用ls | xargs ls
xargs,从标准输入重建并执行命令行,标准输入转成命令参数。
流操作
>
表示重定向,是将上一个的标准输出定位到另一个标准输出,或者一个文件。>>
表示追加,是在不改变后面文件内容的前提下,在文件末尾添加前面的输出。
查看文件内容
- tail,输出文件倒数n行的内容。加上
-f
参数tail命令会持续显示添加到文件中的行(例如写log),直到按下 Ctrl-C 来停止。 - cat,输出全部文件内容
- tail,输出文件倒数n行的内容。加上
ctrl+alt+(f1~f6):打开tty1~tty6控制台,是控制台界面。而tty7是图形界面,ctrl+alt+f7打开。
ps aux
可以看到所有运行的程序,配合grep命令进行筛选。kill命令杀死某个进程。图形界面卡死时,可以打开tty1终端,
ps -t -tty7
命令查看tty7进程,找到xorg进程到pid号xxx,kill xxx重启图形界面。文件复制
- cp,
cp path/to/file1 path/to/file2
复制到某个文件(覆盖),cp path/to/file path/to/
复制到某个目录。如果是拷一个目录,则要加上-r,例如cp -r path/to1 path/to2/
。 - scp,cp的升级版 ,不同机器间的文件复制,
scp user@ip:/hisdir /mydir
。
- cp,
显示目录下文件:
ls -al
,-a表示显示隐藏的,-l表示显示详细资料。打补丁,patch命令用patch文件给文件打补丁,改变文件的内容。patch文件可用diff命令来取得。
man命令查看命令的说明,例如:
man cp
,查看cp命令说明。显示当前路径:pwd
显示文件系统文件占用磁盘空间情况:df
netstat -nlp
查看占用端口号的服务(mac的参数有些不一样,无法找到相关程序(-p),得用lsof命令:lsof -nP -iTCP:[端口号]
top命令,是Linux下常用的性能分析工具 ,能够实时显示系统中各个进程的资源占用状况(内存和cpu等),类似于Windows的任务管理器。