點擊上方,選擇星標或置頂,每天給你送干貨!
閱讀大概需要11分鐘
跟隨小博主,每天進步一丟丟
來自:良許Linux
01
shell腳本基本命令、前言
Linux shell命令應該算是非常入門的東西,但是實際上在使用的時候,會遇到各種各樣的問題,前幾天我在我們的項目上需要做一個功能,根據進程名字殺死這個進程,下面是過程
1、我們正常需要的操作是
python執行shell命令、?$ps |grep xxx
?$kill -9 xx
2、kill命令是常用的,但是用killall命令會更快
linux中shell是什么意思?$killall -9 xxx
3、令我困擾的是我用的那個沒有killall然后我做了下面的操作
? ? ? ?$adb shell ps |grep speech |awk '{print $2}' > 1.txt
Linux bash,? ? ? ?$cat 1.txt |xargs -n1 adb shell kill -9
? ? ? ?我用這個的原因是用一條指令重定向總是各種問題,正常情況下用這條就可以了
? ? ? $adb shell ps |grep speech |awk '{print $2}'|xargs -n1 kill -9
grep命令?02
正文
關機/重啟
關機(必須用root用戶)
shutdown?-h?now??##?立刻關機
shutdown?-h?+10??##??10分鐘以后關機
shutdown?-h?12:00:00??##12點整的時候關機
halt???#??等于立刻關機重啟
shutdown?-r?now
reboot???#?等于立刻重啟
Linux shell?echo
root@ubuntu:~#?a="hello,world"
root@ubuntu:~#?echo?a
a
root@ubuntu:~#?echo?&a
[1]?3091a:?command?not?found
[1]+??Done????????????????????echo
root@ubuntu:~#?echo?$a
hello,world
root@ubuntu:~#?
vim文本編輯器
最基本用法
vi??somefile.4
1?首先會進入“一般模式”,此模式只接受各種快捷鍵,不能編輯文件內容
2?按i鍵,就會從一般模式進入編輯模式,此模式下,敲入的都是文件內容
3?編輯完成之后,按Esc鍵退出編輯模式,回到一般模式;
4?再按:,進入“底行命令模式”,輸入wq命令,回車即可常用快捷鍵
一些有用的快捷鍵(在一般模式下使用):
a???在光標后一位開始插入
A???在該行的最后插入
I???在該行的最前面插入
gg???直接跳到文件的首行
G????直接跳到文件的末行
dd????刪除一行
3dd???刪除3行
yy????復制一行
3yy???復制3行
p?????粘貼
u?????undo
v????????進入字符選擇模式,選擇完成后,按y復制,按p粘貼
ctrl+v???進入塊選擇模式,選擇完成后,按y復制,按p粘貼
shift+v??進入行選擇模式,選擇完成后,按y復制,按p粘貼查找并替換
1?顯示行號
:set?nu
2?隱藏行號
:set?nonu
3?查找關鍵字
:/you???????##?效果:查找文件中出現的you,并定位到第一個找到的地方,按n可以定位到下一個匹配位置(按N定位到上一個)
4?替換操作
:s/sad/bbb????查找光標所在行的第一個sad,替換為bbb
:%s/sad/bbb??????查找文件中所有sad,替換為bbb
拷貝/刪除/移動/更換文件名字
cp??somefile.1???/home/hadoop/
rm?/home/hadoop/somefile.1
rm?-f?/home/hadoop/somefile.1
mv?/home/hadoop/somefile.1?../
mv?a.txt?b.txt?//把a.txt更名為b.txt
打包壓縮
1、gzip壓縮
gzip?a.txt2、解壓
gunzip?a.txt.gz
gzip?-d?a.txt.gz3、bzip2壓縮
bzip2?a4、解壓
bunzip2?a.bz2
bzip2?-d?a.bz25、打包:將指定文件或文件夾
tar?-cvf?bak.tar??./aaa
將/etc/password追加文件到bak.tar中
tar?-rvf?bak.tar?/etc/password6、解壓
tar?-xvf?bak.tar7、打包并壓縮
tar?-zcvf?a.tar.gz??aaa/8、解包并解壓縮(重要的事情說三遍!!!)
tar??-zxvf??a.tar.gz
解壓到/usr/下
tar??-zxvf??a.tar.gz??-C??/usr9、查看壓縮包內容
tar?-ztvf?a.tar.gz
zip/unzip10、打包并壓縮成bz2
tar?-jcvf?a.tar.bz211、解壓bz2
tar?-jxvf?a.tar.bz2
常用查找命令的使用
1、查找可執行的命令所在的路徑:
which?ls2、查找可執行的命令和幫助的位置:
whereis?ls3、從某個文件夾開始查找文件
find?/?-name?"hadooop*"
find?/?-name?"hadooop*"?-ls4、查找并刪除
find?/?-name?"hadooop*"?-ok?rm?{}?\;
find?/?-name?"hadooop*"?-exec?rm?{}?\;5、查找用戶為hadoop的文件
find??/usr??-user??hadoop??-ls6、查找用戶為hadoop的文件夾
find?/home?-user?hadoop?-type?d?-ls7、查找權限為777的文件
find?/?-perm?-777?-type?d?-ls8、在指定目錄不分大小寫查找某個文件
find?./sound/?-iname?ft56Q.c?9、顯示命令歷史
history
grep命令
最常用的-全字匹配
grep?-wrn??weiqifa?./sound/查找?某個字符串但是不在指定文件夾查找
grep?-E?"http"??./?-R?--exclude-dir=./sound/?
grep?-E?"http"??.?-R?--exclude-dir={.git,res,bin}
排除擴展名為?java?和?js?的文件
grep?-E?"http"??.?-R?--exclude=*.{java,js}1?基本使用
查詢包含hadoop的行
grep?hadoop?/etc/password
grep?aaa??./*.txt?2?cut截取以:分割保留第七段
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#?grep?dsl?/etc/passwd?|?cut?-d:?-f7
/bin/bash
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#?grep?dsl?/etc/passwd?
dsl:x:1000:1000:dsl,,,:/home/dsl:/bin/bash
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#?3?查詢不包含hadoop的行
grep?-v?hadoop?/etc/passwd4?正則表達包含hadoop
grep?'hadoop'?/etc/passwd5?正則表達(點代表任意一個字符)
grep?'h.*p'?/etc/passwd6?正則表達以hadoop開頭
grep?'^hadoop'?/etc/passwd7?正則表達以hadoop結尾
grep?'hadoop$'?/etc/passwd規則:
.??:?任意一個字符
a*?:?任意多個a(零個或多個a)
a??:?零個或一個a
a+?:?一個或多個a
.*?:?任意多個任意字符
\.?:?轉義.
o\{2\}?:?o重復兩次查找不是以#開頭的行
grep?-v?'^#'?a.txt?|?grep?-v?'^$'?以h或r開頭的
grep?'^[hr]'?/etc/passwd不是以h和r開頭的
grep?'^[^hr]'?/etc/passwd不是以h到r開頭的
grep?'^[^h-r]'?/etc/passwd
linux文件權限的描述格式解讀
drwxr-xr-x??????(也可以用二進制表示??111?101?101??-->??755)d:標識節點類型(d:文件夾???-:文件? l:鏈接)
r:可讀?? w:可寫??? x:可執行?
第一組rwx:??##?表示這個文件的擁有者對它的權限:可讀可寫可執行
第二組r-x:??##?表示這個文件的所屬組用戶對它的權限:可讀,不可寫,可執行
第三組r-x:??##?表示這個文件的其他用戶(相對于上面兩類用戶)對它的權限:可讀,不可寫,可執行
修改文件權限
chmod?g-rw?haha.dat?????????##?表示將haha.dat對所屬組的rw權限取消
chmod?o-rw?haha.dat?????????##?表示將haha.dat對其他人的rw權限取消
chmod?u+x?haha.dat?????????##?表示將haha.dat對所屬用戶的權限增加x
chmod?a-x?haha.dat???????????????##?表示將haha.dat對所用戶取消x權限也可以用數字的方式來修改權限
chmod?664?haha.dat???
就會修改成???rw-rw-r--
如果要將一個文件夾的所有內容權限統一修改,則可以-R參數
chmod?-R?770?aaa/
修改文件所有權
<只有root權限能執行>
chown?angela??aaa????????##?改變所屬用戶
chown?:angela??aaa????????##?改變所屬組
chown?angela:angela?aaa/????##?同時修改所屬用戶和所屬組
統計文件或文件夾的大小
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#?du?-sh?sound/
33M????sound/
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#?df?-h????查看磁盤的空間
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#?df?-h
Filesystem??????Size??Used?Avail?Use%?Mounted?on
udev????????????1.9G?????0??1.9G???0%?/dev
tmpfs???????????394M??6.4M??388M???2%?/run
/dev/sda1???????294G???93G??186G??34%?/
tmpfs???????????2.0G??204K??2.0G???1%?/dev/shm
tmpfs???????????5.0M??4.0K??5.0M???1%?/run/lock
tmpfs???????????2.0G?????0??2.0G???0%?/sys/fs/cgroup
tmpfs???????????394M???80K??394M???1%?/run/user/1000
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#?
---END---
方便交流學習,備注:昵稱-學校(公司)-方向,進入DL&NLP交流群。
方向有很多:機器學習、深度學習,python,情感分析、意見挖掘、句法分析、機器翻譯、人機對話、知識圖譜、語音識別等。
記得備注呦
推薦閱讀:
【ACL 2019】騰訊AI Lab解讀三大前沿方向及20篇入選論文
【一分鐘論文】IJCAI2019 | Self-attentive Biaf?ne Dependency? Parsing
【一分鐘論文】 NAACL2019-使用感知句法詞表示的句法增強神經機器翻譯
【一分鐘論文】Semi-supervised Sequence Learning半監督序列學習
【一分鐘論文】Deep Biaffine Attention for Neural Dependency Parsing
詳解Transition-based Dependency parser基于轉移的依存句法解析器
經驗 | 初入NLP領域的一些小建議
學術 | 如何寫一篇合格的NLP論文
干貨?|?那些高產的學者都是怎樣工作的?
一個簡單有效的聯合模型
近年來NLP在法律領域的相關研究工作
讓更多的人知道你“在看”
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态