关于linux目录结构可见链接。
显示指定工作目录下之内容
ls //显示所有文件及目录(不含隐藏文件) ls -a //显示所有文件及目录(含隐藏文件) ls -l //除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出cat命令用以将文件、标准输入内容打印至标准输出。常用于显示文件内容、创建文件、向文件中追加内容
cat a.cpp //显示a.cpp的所有内容 cat a.cpp | grep abc //显示a.cpp中包含关键字“abc”的行 cat > b.cpp <<end //创建b.cpp并写入内容,直到输入end为止 cat > c.cpp <<end //对已存在的c.cpp文件写入文件内容(覆盖),直到输入end cat >> c.cpp <<end //对已存在的c.cpp文件末尾追加文件内容(不覆盖),直到输入end更多关于cat命令可见链接。
more 命令用于分页显示文件内容。
more a.cpp //显示a.cpp的内容,按空格显示下一页,按b回到上一页,按回车显示下一行,按q离开更多关于more命令可见链接。
less命令与more命令 非常类似,但less命令可以更加随意地浏览文件,而且 less 在查看之前不会加载整个文件。
less a.cpp //查看a.cpp的内容,用上下方向键进行上下翻滚更多关于less命令可见链接
主要用于复制文件或目录
cp [filename] [filepath] //默认复制文件 //复制文件夹要带上 -r $ cp –r test/ newtest //将当前目录 test/ 下的所有文件复制到新目录 newtest 下用来为文件或目录改名、或将文件或目录移入其它位置
mv [filename] [filepath] //目标目录与原目录一致,指定了新文件名,效果就是仅仅重命名 $ mv /home/a.txt /home/b.txt //目标目录与原目录不一致,没有指定新文件名,效果就是仅仅移动 $ mv /home/a.txt /home/test/ //目标目录与原目录不一致, 指定了新文件名,效果就是:移动 + 重命名 $ mv /home/a.txt /home/test/c.txt用于实时显示进程的动态
top //显示进程信息 top -d xxx //每隔xxx秒更新一次进程信息 //top视图下按 b可以高亮正在运行的进程更多关于top命令可见链接。
用于显示当前进程的状态,得到的是个快照,不会像top一样实时更新
ps -e //显示所有进程 ps -A //与ps -e一样 ps -aux //显示所有进程及详细信息(包含其它用户的进程) ps -ef //系统中所有用户的所有进程的完整列表 ps -T -p id //查看进程号为id的进程中的线程ps aux、ps -aux、ps -ef之间的区别
关于ps命令详细可见链接
用于删除一个文件或者目录
rm [filename/path] -f //即使原档案属性设为唯读,亦直接删除,无需逐一确认 -r //将目录及以下之档案亦逐一删除 //传说中的删库跑路 rm -rf [filepath]用于显示当前工作目录
pwd //显示当前所处目录用于查找文件里符合条件的字符串
grep [pattern] [filename] //查找后缀有 file 字样的文件中包含 test 字符串的文件并打印出该字符串的行 grep test *file grep -r include /home //在home目录下递归查找所有包含include字符串的文件ps 搭配 grep,有一个很常用的命令
根据进程名/进程id搜索进程状态:
ps -ef | grep [进程名/进程id] 如:ps -aux | grep R //可以查找出包含字符“R”的进程信息,因此可以快速找到状态R的进程关闭执行中的程序或工作
kill -9 [pid] //强制杀死进程 kill -15[pid] //-15是默认的kill方式更多关于kill可见链接。
chmod是Linux/Unix中修改文件或者目录权限的命令,通过修改权限可以让指定的人对文件可读、可写、可运行,极大地保证了数据的安全性。
chmod -R 777 file //将file这个文件夹及文件夹内所有内容的权限改为对所有用户可读,可写,可执行,-R表示递归修改更多关于chmod可见链接。
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat -a //列出所有端口 netstat -at //列出所有tcp端口 netstat -au //列出所有udp端口 netstat -l //只显示监听端口 netstat -s //显示所有端口的统计信息更多关于netstat可见链接。
见链接。
更多可见链接。
用于进行压缩和解压缩,对应的压缩包为zip格式
zip file.zip file //将file文件夹压缩成zip形式 unzip file.zip //解压缩,解压后文件放在当前目录下更多关于which、whereis、locate、find详见链接
查看linux各项资源的限制
ulimit -a //查看所有资源的限制 ulimit -n //查看最大文件描述符数量,一般为1024 ulimit -u //查看最大进程数目 ulimit -n 2048 //将最大文件描述符数量改为2048更多可见链接。
可以直接杀掉指定名字的进程,而kill需要指定进程ID
pkill redis //把redis进程杀掉df用来检查linux服务器的文件系统的磁盘空间占用情况。
df -a //查看全部文件系统,单位默认KB df -h //以人类可阅读的方式显示磁盘空间占用情况,单位GB详细可见链接。
显示每个文件和目录的磁盘使用空间。
du -h //以K,M,G为单位显示所有目录或文件的大小,提高信息可读性 //以下命令都可在最后一个字符后加个h,增加可读性 du -a //显示所有目录或文件的大小 du -c //显示目录或文件的大小总和 du -s //仅显示目录或文件的总计大小数值更多可见链接。
pstree命令是用于查看进程树,可以看出进程之间的关系,即哪个进程是父进程,哪个是子进程,可以清楚的看出来是谁创建了谁
pstree pstree -afree 命令显示系统内存的使用情况
free -h //显示系统内存使用情况(含单位) free -s 5 //每隔五秒输出一次内存使用情况更多可见链接。
size 命令基本上就是输出指定输入文件的各段及其总和的大小。
size test //得到可执行程序test的text、data、bss段大小和总大小 //输出中的dec、hex是10进制、16进制表示的总大小更多可见链接。
linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。
ip addr //查看ip地址详见此博客。
watch命令可以实时全屏监控当前命令执行的动态变化结果。watch命令的常用参数有“-n”、“-d”、“-t”分别表示“时隔多少秒刷新”、“高亮显示动态变化”、“关闭命令顶部的时间间隔,命令显示”
watch -n 5 ps -ef //每隔5秒钟刷新一次ps -ef详见链接
把所有文件中的hello替换为world(重要):
sed -i "s/hello/world/g" *输出hello.txt的第3行到最后一行:
sed -n '3,$'p hello.txt匹配以10开头的行,并替换为yes,并输出
sed -n 's/^10/yes/p' hello.txt删除匹配100的行:
sed '/100/'d hello.txt更多关于sed可见链接。
逐行处理文件中的数据
输出hello.txt文件中第3到5行:
awk 'NR == 3, NR == 5{print;}' hello.txt输出hello.txt第3列:
awk '{print $3}' hello.txt输出hello.txt第2行、第3列:
sed -n "2p" hello.txt | awk '{print $3}'输出hello.txt中,正则匹配hello的行
awk '/hello/' hello.txt更多关于awk可见 链接。