linux常用命令如下:

公司主營業(yè)務:成都做網站、網站制作、成都外貿網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯網宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯推出郴州免費做網站回饋大家。
1、查看內核版本:uname -a。
2、控制臺-》圖形界面:init 5或者startx。
3、圖形界面-》控制臺: init3或者直接注銷。
4、如何查看ip地址:ifconfig。
5、配置ip:ifconfig eth0 ip地址。
6、重啟:reboot 或者 shutdown -r now。
7、普通用戶切換到系統用戶:su。
8、注銷用戶指令:logout。
9、從子機退出:ctrl+alt。
10、全屏:ctrl+alt+enter 。
基本思想:
Linux的基本思想有兩點:第一,一切都是文件;第二,每個文件都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬件和軟件設備、操作系統、進程等等對于操作系統內核而言,都被視為擁有各自特性或類型的文件。
完全免費:
Linux是一款免費的操作系統,用戶可以通過網絡或其他途徑免費獲得,并可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由于這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變,吸收了無數程序員的精華。
以上內容參考:百度百科--Linux
shell不支持冪運算 不過你可以用awk來做 可以寫 awk "{ printf 1.1^2.2}" 這個命令會輸出1.1的2.2次方,如果需要用變量的話 就是 awk "{ printf $a^$b}" 希望能幫上你
在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天前創(chuàng)建的文件
# 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)、狀態(tài)改變時間(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 執(zhí)行多條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網站跳轉
先開啟路由轉發(fā):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端口轉發(fā)到本地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執(zhí)行后面命令,{}代表前面輸出的結果,\;結束命令方法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、查看網絡狀態(tài)命令
# netstat -antp #查看所有網絡連接# netstat -lntp #只查看監(jiān)聽的端口信息# 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死循環(huán)
while true; do #條件精確等于真,也可以直接用條件[ "1" == "1" ],條件一直為真ping -c 2
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 awk '{print $2"\t"$1}' a.txt
linux命令行計算器
詳細文檔請 man bc
在windows下,大家都知道直接運行calc,(c:\windows\system32\calc.exe),可以打開計算器。
注:
calculate vt.vi.
計算;calculator n. 計算器。calc就是這個計算的簡寫。
Ca在化學中是代表鈣元素,calcium?
鈣(20號元素,符號Ca)。兩者有什么聯系呢?
calculate 來自calculus,原義是做算術運算的小石子,是calx(石灰石)的小稱。
那么在linux系統下,有無與windows下calc.exe類似的計算器呢?
下面總結linux下的三個命令,來介紹一下linux下的計算方法:
1)bc
bc在默認的情況下是個交互式的指 令。在bc工作環(huán)境下,可以使用以下計算符號:
+ 加法
- 減法
* 乘法
/ 除法
^ 指數
% 余數
如:
#
bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,
Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
3+6???????????
=加法
9
4+2*3??????????=加法、乘法
10
(4+2)*3????????=加法、乘法(優(yōu)先)
18
4*6/8?????????
=乘法、除法
3
10^3?????????
=指數
1000
18%5???????????=余數
3+4;5*2;5^2;18/4?????
=一行輸入多個計算,用;相隔。
7
10
25
4
quit ???????????=退出
# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,
Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=3????????
=設小數位
1/3
.333
quit
以上是交互的計算,那到也可以 不進行交互而直接計算出結果。
A.用echo和|法,如:
# echo "(6+3)*2" |bc
18
# echo 15/4 |bc
3
# echo "scale=2;15/4"
|bc
3.75
# echo "3+4;5*2;5^2;18/4"
|bc
7
10
25
4
另外,
bc除了scale來設定小數位之外,還有ibase和obase來其它進制的運算。
如:
//將16進制的A7輸出為10進制, 注意,英文只能大寫
# echo "ibase=16;A7"
|bc
167
//將2進制的11111111轉成10進制
# echo "ibase=2;11111111"
|bc
255
//輸入為16進制,輸出為2進制
# echo "ibase=16;obase=2;B5-A4"
|bc
10001
對于bc還有補充,在bc --help中還可以發(fā)現:bc后可以接文件名。如:
# more calc.txt
3+2
4+5
8*2
10/4
# bc calc.txt
5
9
16
2
2)expr
expr命令可不光能計算加減乘除哦,還有很多表達式,都可以計算出結果,不過有一點需要注意,在計算加減乘除時,不要忘了使用空格和轉義。下
面直接用實例來介紹一下expr的運算,如:
# expr 6 +
3??????
(有空格)
9
# expr?2 \*
3?????
(有轉義符號)
6
# expr 14 % 9
5
# a=3
# expr
$a+5?????????
(無空格)
3+5
# expr $a +
5????????
(變量,有空格)
8
#
a=`expr 4 + 2`
echo $a
6
# expr $a + 3
9
另外,expr對于字串的操作(計算)也是很方便的,如:
//字串長度
#?expr length
"yangzhigang.cublog.cn"
21
//從位置處抓取字串
# expr substr "yangzhigang.cublog.cn"
1 11
yangzhigang
//字串開始處
# expr index
"yangzhigang.cublog.cn" cu
13
3)dc
用dc來進行計算的人可以不多,因為dc與bc相比要復雜,但是在進行簡單的計劃時,是差不多的,不算難。dc為壓棧操作,默認也是交互的,但
也可以用echo和|來配合打算。
如:
# dc
3
2+
p
5
4*
p
20
quit
# echo 3 2+ 4* p |dc
20
4)echo
echo用來進行回顯,是周知的事。上面也配合bc來進行計算。其實echo也可以單獨進行簡單的計算,如:
# echo $((3+5))
8
# echo $(((3+5)*2))
16
echo還可以進行變量的計算,如:
# a=10
# b=5
# echo $(($a+$b))
15
# echo $a+$b
10+5
# echo $a+$b |bc
15
//計算前天的日期
#? echo `date
+%Y%m%d`
20090813
#? echo `date +%Y%m%d`-2
20090813-2
#? echo `date +%Y%m%d`-2
|bc
20090811
5)AWK
awk在處理文件的時,可以進行運算,那當然也可以單單用來計算了,如:
# awk 'BEGIN{a=3+2;print
a}'
5
# awk 'BEGIN{a=(3+2)*2;print
a}'
10
Awk 支持常見的運算符, 如 + (加),- (減), * (乘), / (除), ^ 或 ** (乘方), % (取模)
等等。 此外, awk 也提供了一些常用的數學函數, 比如 sin(x), cos(x), exp(x), log(x),
sqrt(x), rand()。 使用這些運算符和函數可以直接進行一些簡單的運算:
# echo | awk '{print
8+6}'
14
# echo | awk '{print
8/6}'
1.33333
# echo | awk '{print
9%5}'
4
請放心使用
有問題的話請追問
滿意請及時采納,謝謝
Linux常用命令大全100條:
1,echo “aa” 》 test.txt 和 echo “bb” 》》 test.txt
//》將原文件清空,并且內容寫入到文件中,》》將內容放到文件的尾部
2,chmod go+w -R /home/zhangy //給組用戶和其他用戶添加寫的權限
3,tar -tzvf test.tar.gz //列出歸檔內容
4,du -ah //查看文件列表大小
5,du -sh //查看所有文件的大小總和
6,echo ‘1+2’|bc -l //數學運算
7,uname -a //查看linux內核等的一些信息
8,badblocks -s /dev/sda //壞道掃描時顯示進度
9,time command //查看命令的運行時間
10,ls -lrt //按時間的倒序排序
11,rsync -P //同步時顯示進度
12.history -c //清楚歷史命令
13,cd - //返回上次目錄
14,tree //顯示目錄樹
15,umount -n /mnt/hda2 //強制卸載
16,echo ~/ //顯示用戶的home目錄
17,echo $[5*5]e799bee5baa6e997aee7ad94e78988e69d8331333337376265 //算術運算
18,echo $((5*5)) //算術運算
19,eval ls;ps aux|grep httpd //這二個命令都能執(zhí)行
20,free -m //有MB為單位顯示內存
21,uptime
//顯示系統已經運行了多長時間,它依次顯示下列信息:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載
22,加法運算
[root@krlcgcms01 mytest]# let a=34+3;
[root@krlcgcms01 mytest]# echo $a;
23,export //查看所有環(huán)境變量
24,echo $PATH //查看單個變量
25,cmp file1 file2 //文件內容比對
26,clear //清屏
27,echo 23423 |awk --re-interval ‘/[0-9]{3,}/’ //如果不加re-interval的話,不顯示
28,cal //得到一個整齊的日歷格式
29,wc -l //統計行數,wc -w 統計單詞
30,echo “AaDCbd23” |tr “[A-Z]” “[a-z]” 大寫變小寫,echo “AaDCbdc23” |tr -c b-d =
將b-d之外的字符串替換成=
31,echo “ADSF” | iconv -f UTF8 -t GBK //把字符由utf8轉成gbk
-f是from和簡寫,-t好像terminal的簡寫
32,cat -n file //內容的前面會顯示行號
33,chattr +i file //只讀,root用戶也沒法對其進行修改
34,lsattr file //查看文件屬性
35,cat /etc/passwd |awk -F: ‘{print $1}’ //查看系統中所有用戶
36,cat /etc/group //查看系統中所有的組
37,groups //查前當前用戶所在的,所有組
38,usermod -g 組名 用戶 //這種方式是覆蓋的方式,用的時候要小心,如果用戶A性于mysql usermod -g php
mysql這樣的話只屬于php了
39,usermod -G 組名 用戶 //這種方式是增加的方式,如果用戶A性于mysql usermod -g php
mysql這樣的話,mysql就屬于2個組了
40,bc //進入數學計算中去
41,umask 003 u權限是7,g權限是7,其他用戶是4,也就是774,777-003=774
42,mkfs -t vfat /dev/hda6 //將移動硬盤里面的一個分區(qū)格式化成vfat格式
43,mount /dev/cdrom /media/cdrom //掛載cdrom
44,getent group 532 //通過組ID,來查找組信息
45,last //登錄成功用戶記錄
46,lastb //登錄不成功用戶記錄
47,dump -S /dev/sda2 //查看一下要備份/dev/sda2所要的容量
48,dump -0j -f /dev/hda2/sda2_bak.dump.bz2 /dev/sda2 //將sda2進行備份并壓縮
49,restore -t -f /dev/hda2/sda2_bak.dump //查看備份信息
50,restore -r -f /dev/hda2/sda2_bak.dump //還原備份
51,fc-list //查看系統中安裝的字體
52,find 。/ -type f -exec grep -q “root” {} ; -exec echo {} ;
//查找目錄下文件所包涵的字符串
53,vmstat 5 //每5顯示一下次系統信息,cpu,memory,i/o等
54,top 后 在shift + P 所占進程的排序顯示
55,top 后 在shift + M 所占內存的排序顯示
56,iptraf -g //查看各個接口的流量
57,ostat -d -x /dev/sda2 2 //用iostat查看磁盤/dev/sda2的磁盤i/o情況,每兩秒刷新一次
58, paste -sd ‘|||n’ test //文件的每4行轉換成1行,并用|隔開
59,lsof -i :22 //知道22端口現在運行什么程序
60,lsof -c abc //顯示abc進程現在打開的文件
61,lsof -p 12 //看進程號為12的進程打開了哪些文件
63,route //查看路由信息
64,ifup //開啟網卡
65,ifdown //關閉網卡
66,route del -net 172.168.0.0 netmask 255.255.0.0 dev eth0 //刪除
172.168這個網段
67,route add -net 172.168.10.0 netmask 255.255.255.0 dev eth0 //增加一個路由
68,netstat -tunl //列出監(jiān)聽的網絡服務端口
69,netstat -tun //列出已連接的網絡服務端口
70,nmap -sP 172.30.4.0/24 //在這個網段內有多少用戶在我的主機上操作,一個不錯的安全檢查工具
71,vgdisplay //查看系統中的可用空間
72,lvextend -L+20G /dev/tank/part1 //向part1這個分區(qū)增加20G的空間
73,lvresize -L-10G /dev/tank/part2 //向part2這個分區(qū)減少10G的空間
74,pvdisplay //查看磁盤信息
75,mplayer -loop 10 /mnt/song/music/花兒開了.mp3 //循環(huán)播放10遍
76,pacman -S firefox -nd //nd去掉依賴
77,wget -c //斷點下載
78,chroot /mnt/ubuntu //改變根目錄到/mnt/ubuntu
79,ctrl+a //命令行下,光標稱動到開頭
80,ctrl+e //命令行下,光標移動結尾
81,cut -d: -f 1-4 test //用:分割文件,取分割后的1-4列
82,file /home/zhangy/test.php //用于查看文件的一些基本信息
83,touch test.txt //創(chuàng)建一個空文件 text.txt
84,htpasswd -cbd /usr/local/nginx/conf/authfile //創(chuàng)建訪問控制文件
85,df //查看磁盤空間,和當前的磁盤數
86,fdisk -l //查看所有磁盤數
87,alsamixer //進入后,m鍵可以實現靜音
88,killall httpd //把所有httpd進程殺掉
89,killall -9 mysqld_safe //有些進程超級用戶也停止不了,-9是強制刪除
90,mirror /mysql //下載mysql目錄
91,mirror -R /mysql //上傳mysql目錄
92,rmmod pcspkr //關掉tab提示音
93,modprobe pcspkr //開啟tab提示音
94,gpasswd -a zhangy wheel //將zhangy這個用戶添加到wheel這個組
95,dd if=/dev/zero of=/virtual/ubuntu.virt.img bs=1M count=4096
//創(chuàng)建一個4G的IMG鏡像
96,lspic //顯示pci設備
97,lsusb //顯示usb設備
98,history | less //less根more有點像,感覺less用著更舒服點
99,ln -s //如果忘了-s就變成硬鏈接了
100,tar zxvf test.tar.gz -C /home/zhangy //將內容解壓到指定目錄
本文名稱:linux運算指數命令,linux算術運算符
URL網址:http://chinadenli.net/article37/dsecopj.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站改版、定制開發(fā)、手機網站建設、移動網站建設、面包屑導航、動態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯