linux酷炫的命令怎么安装
桌面环境是充满魅力,吸引眼球的。不仅增强了视觉体验,而且在某些情况下能增强软件的功能,增添趣味。其实在命令行下工作也并不总是那么单调乏味。如果你想在命令行下获取几分乐趣的话,自然也是有很多命令可以令你泛起微笑。
Linux 是一个充满乐趣的操作系统。 功能各异,显而易见到奇秒神奇的巨大开源小工具集被 Linux 所提供。正是由于这些高质量可选择工具令 Linux 脱颖而出。来看看下面这7个小工具。
Lolcat
Lolcat 是一个能连接文件或者标准输入,并将其内容输出到标准输出的程序(像是一般的 cat),但是它能给文字赋予美丽的彩虹。 Lolcat 常常与诸如 toilet 和 figlet 的之类的其他工具组合起来生成文字。
开发者:Lolcat 由 Moe 开发。
站点:github.com。
Cowsay
Cowsay 是一个可配置的开源程序,它能够产生一幅由 ASCII 字符组成的一头奶牛和一个会话气泡图像。由 Perl 语言编写的 cowsay 不仅仅局限于产生奶牛的图像,它也能产生预先生成的其他动物图像,如鸭子,大象,考拉,驼鹿,小马,绵羊,剑龙和火鸡等。还有非动物的棋子,雪人和一个骨架。
有一个和这个相关的程序叫做 cowthink ,它生成的是一头奶牛和它思考的气泡,而不是像 cowsay 生成的是会话气泡。
特点:
令脚本程序更加有趣。
博格模式。
可改变奶牛的面貌,比如让它看起来贪婪,偏执,冷酷,疲惫,年轻等等。
站点:nog.net。
Doge
Doge 是一个基于略显愚蠢实则非常有趣的柴犬图的简单 motd 脚本。它随机的打印一些语法不正确的语句,有时这些相关语句来源于你的计算机。
Doge 是一个在2013年流行起来的网络模因。该模因通常由柴犬的图片配上 Comic Sans 字体的五彩文字。这些文字是一种内心的独白,并且还故意使用蹩脚英语。
特点:
文字出现的位置与颜色随机,故意使用了蹩脚英语。
能抓取系统数据,如主机名,运行中的进程,最近的用户和编辑器等。
如果你有 lolcat ,你可以试试这样: while true; do doge | lolcat -a -d 100 -s 100 -p 1; done
支持标准输入: ls /usr/bin | doge 将会以 doge 样式打印出在 /usr/bin 目录下找到的一些可执行程序。哇哦!这还能用来统计你频繁使用哪些命令。
站点:github.com/thiderman/doge。
ASCIIQuarium
ASCIIQuarium 是一个用 ASCII 字符艺术表达的水族馆或大海的动漫。尽情的欣赏你计算机中那些在水中游动的美丽生物吧!
你需要安装 Perl 的 curses 包和 Term::Animation 模块来支持 ASCIIQuarium 的运行。终端执行: sudo apt-get install libcurses-perl 和 sudo cpan Term::Animation 即可安装上述两个依赖。
特点:
色彩斑斓的鱼。
有趣的动漫,还有一个鱼钩。
有天鹅,鸭子,海豚和船。
站点:www.robobunny.com。
Sl – Strem Locomotive
Sl 是一个有趣的命令行工具,他通过一个火车开过的动画来纠正用户偶然把 ls 输错成 sl。
我相当疏忽命令输入的过程的正确性,我更愿意追求速度。但这可能会造成危险。因此 sl 可以很好的在我发生这些错误时提醒我。
特点:
-F 开关,控制火车文件。
-l 开关,显示一个小火车。
-a 开关,似乎会发生一场事故。
站点:github.com/mtoyoda/sl。
Aafire
Aafire 在终端展现的是一个燃烧中的 ASCII 字符构成的火焰。它展现的是一个 ascii 显示库 aalib的功能。
站点:aa-project.sourceforge.net/aalib。
CMatrix
CMatrix 是一个 ncurses 库程序,模拟“黑客帝国”中的一个画面。如果你看过“黑客帝国”这部电影,那么你就会知道。
它工作在132×300 大小的终端中,可以进行同步或异步速率的翻滚,还可用户自定义速率。
特点:
改变文本的颜色。
使用粗体字符。
异步翻滚。
老式风格翻滚。
“屏幕保护”模式。
站点:www.asty.org/cmatrix。
这里有几个你可以先看下,你也要学习些基本的命令网页链接。
linux 什么命令号称黑客的瑞士军刀
Linux上面的nc命令号称是黑客的瑞士军刀,nc命令是安装了netcat这个软件后才有的命令。
黑客必备的基础命令(DOS UNIX/LINUX WINDOWS)
windows
cd (change directory) 更改目录
dir (directory) 查看文件夹下内容
edit 编辑文件
linux
ls (list) 查看文件夹下内容
cd (change directory) 更改目录
whoami 用户帐号
cp (copy) 复制
mkdir (make directory) 建立目录
mv (move) 移动文件
rm (remove) 删除文件
cat (concatenate) 查看文件内容
vi (visual edit) 编辑文件
ifconfig (ip configuration) 设置/查看网络配置
chmod (change file mode bits) 更改目录/文件权限
chown (change owner) 更改用户所有者
关于Linux操作系统的一些命令是什么?
Linux系统中的命令实在是太多了,简单包括两类命令,一类是内部命令,指的是Shell自身提供的功能,一类是外部命令,指的是第三方的控制台应用程序。
一般来说,没必要完全学习所有的命令,大体上有个印象,用到的时候去查一下帮助文档,久而久之,自然熟练。
下面是网友整理的20个最常用的Linux命令:
1. ls命令
ls命令是列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,可能是文件也可能是文件夹。
2. lsblk命令
"lsblk"就是列出块设备。除了RAM外,以标准的树状输出格式,整齐地显示块设备。
3. md5sum命令
“md5sum”就是计算和检验MD5信息签名。md5 checksum(通常叫做哈希)使用匹配或者验证文件的文件的完整性,因为文件可能因为传输错误,磁盘错误或者无恶意的干扰等原因而发生改变。
4. dd命令
“dd”命令代表了转换和复制文件。可以用来转换和复制文件,大多数时间是用来复制iso文件(或任何其它文件)到一个usb设备(或任何其它地方)中去,所以可以用来制作USB启动器。
6. history命令
“history”命令就是历史记录。它显示了在终端中所执行过的所有命令的历史。
7. sudo命令
“sudo”(super user do)命令允许授权用户执行超级用户或者其它用户的命令。通过在sudoers列表的安全策略来指定。
8. mkdir命令
“mkdir”(Make directory)命令在命名路径下创建新的目录。然而如果目录已经存在了,那么它就会返回一个错误信息"不能创建文件夹,文件夹已经存在了"("cannot create folder, folder already exists")
9. touch 命令
“touch”命令代表了将文件的访问和修改时间更新为当前时间。touch命令只会在文件不存在的时候才会创建它。如果文件已经存在了,它会更新时间戳,但是并不会改变文件的内容。
10. chmod 命令
“chmod”命令就是改变文件的模式位。chmod会根据要求的模式来改变每个所给的文件,文件夹,脚本等等的文件模式(权限)。
11. chown命令
“chown”命令就是改变文件拥有者和所在用户组。每个文件都属于一个用户组和一个用户。在你的目录下,使用"ls -l",你就会看到像这样的东西。
12. apt命令
Debian系列以“apt”命令为基础,“apt”代表了Advanced Package Tool。APT是一个为Debian系列系统(Ubuntu,Kubuntu等等)开发的高级包管理器,在Gnu/Linux系统上,它会为包自动地,智能地搜索,安装,升级以及解决依赖。
13. tar命令
“tar”命令是磁带归档(Tape Archive),对创建一些文件的的归档和它们的解压很有用。
14. cal 命令
“cal”(Calender),它用来显示当前月份或者未来或者过去任何年份中的月份。
16. cat命令
“cat”代表了连结(Concatenation),连接两个或者更多文本文件或者以标准输出形式打印文件的内容。
17. cp 命令
“copy”就是复制。它会从一个地方复制一个文件到另外一个地方。
18. mv 命令
“mv”命令将一个地方的文件移动到另外一个地方去。
19. pwd 命令
“pwd”(print working directory),在终端中显示当前工作目录的全路径。
20. cd 命令
最后,经常使用的“cd”命令代表了改变目录。它在终端中改变工作目录来执行,复制,移动,读,写等等操作。
30个必知的Linux命令技巧,你都掌握了吗
在Unix/Linux下,高效工作方式不是操作图形页面,而是命令行操作,命令行意味着更容易自动化。使用过Linux系统的朋友应该都知道它的命令行强大之处。话说回来了,以下这些命令使用技巧你又知道多少呢?
1、Vim自动添加注释及智能换行
# vi ~/.vimrc set autoindentset tabstop=4set shiftwidth=4function AddTitle()call setline(1,"#!/bin/bash")call append(1,"#====================================================")call append(2,"# Author: lizhenliang")call append(3,"# Create Date: " . strftime("%Y-%m-%d"))call append(4,"# Description: ")call append(5,"#====================================================")endfmap F4 :call AddTitle()cr
打开文件后,按F4就会自动添加注释,省了不少时间:
2、查找并删除/data这个目录7天前创建的文件
# find /data -ctime +7 -exec rm -rf {} \;# find /data -ctime +7 | xargs rm -rf
3、tar命令压缩排除某个目录
# tar zcvf data.tar.gz /data --exclude=tmp #--exclude参数为不包含某个目录或文件,后面也可以跟多个
4、查看tar包存档文件,不解压
# tar tf data.tar.gz #t是列出存档文件目录,f是指定存档文件
5、使用stat命令查看一个文件的属性
访问时间(Access)、修改时间(modify)、状态改变时间(Change)stat index.phpAccess: 2018-05-10 02:37:44.169014602 -0500Modify: 2018-05-09 10:53:14.395999032 -0400Change: 2018-05-09 10:53:38.855999002 -0400
6、批量解压tar.gz
方法1:# find . -name "*.tar.gz" -exec tar zxf {} \;方法2:# for tar in *.tar.gz; do tar zxvf $tar; done方法3:# ls *.tar.gz | xargs -i tar zxvf {}
7、筛除出文件中的注释和空格
方法1:# grep -v "^#" httpd.conf |grep -v "^$"方法2:# sed -e ‘/^$/d’ -e ‘/^#/d’ httpd.conf http.conf或者# sed -e '/^#/d;/^$/d' #-e 执行多条sed命令方法3:# awk '/^[^#]/|/"^$"' httpd.conf 或者# awk '!/^#|^$/' httpd.conf
8、筛选/etc/passwd文件中所有的用户
方法1:# cat /etc/passwd |cut -d: -f1方法2:# awk -F ":" '{print $1}' /etc/passwd
9、iptables网站跳转
先开启路由转发:echo "1" /proc/sys/net/ipv4/ip_forward #临时生效内网访问外网(SNAT):iptables –t nat -A POSTROUTING -s [内网IP或网段] -j SNAT --to [公网IP]#内网服务器要指向防火墙内网IP为网关公网访问内网(DNAT)(公网端口映射内网端口):iptables –t nat -A PREROUTING -d [对外IP] -p tcp --dport [对外端口] -j DNAT --to [内网IP:内网端口]#内网服务器要配置防火墙内网IP为网关,否则数据包回不来。另外,这里不用配置SNAT,因为系统服务会根据数据包来源再返回去。
10、iptables将本机80端口转发到本地8080端口
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
11、find命令查找文件并复制到/opt目录
方法1:# find /etc -name httpd.conf -exec cp -rf {} /opt/ \;: #-exec执行后面命令,{}代表前面输出的结果,\;结束命令方法2:# find /etc -name httpd.conf |xargs -i cp {} /opt #-i表示输出的结果由{}代替
12、查看根目录下大于1G的文件
# find / -size +1024M 默认单位是b,可以使用其他单位如,C、K、M
13、查看服务器IP连接数
# netstat -tun | awk '{print $5}' | cut -d: -f1 |sort | uniq -c | sort -n -tun:-tu是显示tcp和udp连接,n是以IP地址显示cut -d:-f1:cut是一个选择性显示一行的内容命令,-d指定:为分隔符,-f1显示分隔符后的第一个字段。uniq -c:报告或删除文中的重复行,-c在输出行前面加上出现的次数sort -n:根据不同类型进行排序,默认排序是升序,-r参数改为降序,-n是根据数值的大小进行排序
14、插入一行到391行,包括特殊符号"/"
# sed -i "391 s/^/AddType application\/x-httpd-php .php .html/" httpd.conf
15、列出nginx日志访问最多的10个IP
方法1:# awk '{print $1}' access.log |sort |uniq -c|sort -nr |head -n 10sort :排序uniq -c:合并重复行,并记录重复次数sort -nr :按照数字进行降序排序方法2:# awk '{a[$1]++}END{for(v in a)print v,a[v] |"sort -k2 -nr |head -10"}' access.log
16、显示nginx日志一天访问量最多的前10位IP
# awk '$4="[16/May/2017:00:00:01" $4="[16/May/2017:23:59:59"' access_test.log |sort |uniq -c |sort-nr |head -n 10# awk '$4="[16/Oct/2017:00:00:01" $4="[16/Oct/2017:23:59:59"{a[$1]++}END{for(i in a){print a[i],i|"sort -k1 -nr |head -n 10"}}' access.log
17、获取当前时间前一分钟日志访问量
# date=`date +%d/%b/%Y:%H:%M --date="-1 minute"` ; awk -vd=$date '$0~d{c++}END{print c}' access.log# date=`date +%d/%b/%Y:%H:%M --date="-1 minute"`; awk -vd=$date '$4="["d":00" $4="["d":59"{c++}END{print c}' access.log # grep `date +%d/%b/%Y:%H:%M --date="-1 minute"` access.log |awk 'END{print NR}'# start_time=`date +%d/%b/%Y:%H:%M:%S --date="-5 minute"`;end_time=`date +%d/%b/%Y:%H:%M:%S`;awk -vstart_time="[$start_time" -vend_time="[$end_time" '$4=start_time $4=end_time{count++}END{print count}' access.log
18、找出1-255之间的整数
方法1:# ifconfig |grep -o '[0-9]\+' #+号匹配前一个字符一次或多次方法2:# ifconfig |egrep -o '\([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\'
19、找出IP地址
# ifconfig |grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' #-o只显示匹配字符
20、给文档增加开头和结尾说明信息
# awk ‘BEGIN{print "开头显示信息"}{print $1,$NF} END{print "结尾显示信息"}’/etc/passwd# awk 'BEGIN{printf " date ip\n------------------\n"} {print $3,$4} END{printf "------------------\nend...\n"}' /var/log/messages date ip------------------03:13:01 localhost10:51:45 localhost------------------end...
21、查看网络状态命令
# netstat -antp #查看所有网络连接# netstat -lntp #只查看监听的端口信息# lsof -p pid #查看进程打开的文件句柄# lsof -i:80 #查看端口被哪个进程占用
22、生成8位随机字符串
方法1:# echo $RANDOM |md5sum |cut -c 1-8方法2:# openssl rand -base64 4方法3:# cat /proc/sys/kernel/random/uuid | cut -c 1-8
23、while死循环
while true; do #条件精确等于真,也可以直接用条件[ "1" == "1" ],条件一直为真ping -c 2 www.baidu.comdone
24.awk格式化输出
将文本列进行左对齐或右对齐。
左对齐:# awk '{printf "%-15s %-10s %-20s\n",$1,$2,$3}' test.txt右对齐:# awk '{printf "%15s %10s %20s\n",$1,$2,$3}' test.txt
25.整数运算保留小数点
方法1:# echo 'scale=2; 10/3;'|bc #scale参数代表取小数点位数方法2:# awk BEGIN'{printf "%.2f\n",10/3}'
26.数字求和
# cat a.txt10235356方法1:#!/bin/bashwhile read num;dosum=`expr $sum + $num`done a.txtecho $sum方法2:# cat a.txt |awk '{sum+=$1}END{print sum}'
27、判断是否为数字(字符串判断也如此)
# [[ $num =~ ^[0-9]+$ ]] echo yes || echo no #[[]]比[]更加通用,支持模式匹配=~和字符串比较使用通配符`^ $:从开始到结束是数字才满足条件=~:一个操作符,表示左边是否满足右边(作为一个模式)正则表达式
28、删除换行符并将空格替换别的字符
# cat a.txt |xargs echo -n |sed 's/[ ]/|/g' #-n 不换行# cat a.txt |tr -d '\n' #删除换行符
29、查看文本中20至30行内容(总共100行)
方法1:# awk '{if(NR 20 NR 31) print $0}' test.txt方法2:# sed -n '20,30p' test.txt 方法3:# head -30 test.txt |tail
30、文本中两列位置替换
# cat a.txt60.35.1.15 www.baidu.com45.46.26.85 www.sina.com.cn# awk '{print $2"\t"$1}' a.txt