linux修改shell
A. linux中修改了Shell,如何立即生效
恩?修改了shell,直接運行就可以了嘛!比如說hello.sh,進入hello.sh的
目錄
,輸入./hello.sh就行了。
感覺問的有點怪,如果你是修改了shell的
配置文件
,比如說.bash_profile等文件的話,要立即生效,就要輸入source
.bash_profile,這樣在.bash_profile的設置才會立即生效的。
兩種情況,你看著辦吧!還不清楚的就+243488442
B. 如何改變系統默認的shell-Linux新手園地
1、Shell 是一種具備特殊功能的程序,是介於使用者和
UNIX/Linux 操作系統之核心程序(kernel)間的一個介面。系統起動的時候,核心程序會被載入內存,負責管理系統的工作,直到系統關閉為止。建立並控制著處理程序,管理內存、檔案系統、通訊等等。而其它的程序,
包括 shell 程序,都存放在磁碟中。核心程序載入內存執行,並且在中止後清理系統。Shell
是一個公用程序。藉由解譯使用者輸入的命令(由命令列或命檔),Shell
提供使用者和核心程序產生交談的功能。
2、更改默認shell:
[root@localhost ~]# chsh
Changing shell for root.
New shell [/bin/bash]: /bin/bash
Shell not changed.
C. linux 更改shell時出現的問題
暈
chsh是修改登錄時候的默認shell,你這個機器沒有tcsh吧。
你需要用root許可權修改 chsh /bin/bash
就行了或者修改passwd文件 把默認shell改成bash
反正我的Ubuntu是默認沒有安裝tcsh的
D. linux中查看現在使用的shell是ksh還是bash以及怎樣修改
現在一般都是bash
你可以使用
# cat /etc/passwd | grep "^(root)"
root是用戶名,,表示你登錄的那個用戶名,, 如果你的用戶是其它這里要替換
然後看顯示在行尾的是/bin/bash就是bash 如果是其它的 就是其它的shell
E. 如何修改Linux賬戶的默認Shell類型
當我新建了一個賬號,發現登錄後很不習慣。
原來系統給我的shell不是是sh,我都是用bash的,這可怎麼辦來?
當然可以使用
$bash
來切換,但是這個方法治標不治本。
每個賬戶登錄後所啟動的默認shell是保存在/etc/passwd 中的
可以使用cat來查看
$cat /etc/passwd
root:x:0:0:root:/root:/bin/sh
...
#我怎麼可能讓你知道我的賬戶
如果需要修改成我喜歡的bash
$ls -l /etc/passwd
-rw-r--r-- 1 root root 1809 2011-04-29 09:42 /etc/passwd
只有root可寫,只能用root許可權去修改了
$sudo vim /etc/passwd
....
將自己賬戶對應的那行最後部分
由改為/bin/sh修改為/bin/bash
保存重新登錄賬戶即可。
F. linux shell編程中文件內容修改方法
兩種思路,
第一種,你打開文件,找到匹配的行,改掉,重寫個文件,刪除原來的。改這個文件為一樣的名字。
第二種,以需要改寫的文本,把原來的文件分成兩個部分,要改寫的部分空出,然後重定向合並到一個文件里。
例如,
file.txt
分為
a.txt
b.txt
現在
1
a.txt>file.txt
2
變行
>>file
.txt
3
b.txt
>>file.txt
G. linux下使用shell批量修改文件名幾種方法總
1、通過sed替換
[root@node01 wolf]# find / -type f -name wolf.log
/wolf.log
/tmp/wolf.log
/root/wolf/wolf.log
[root@node01 wolf]# sed -i 's#wolf#yujing#g' `find / -type f -name wolf.log`
[root@node01 wolf]# find / -type f -name "wolf.log" | xargs cat
yujing
yujing
yujing
[root@node01 wolf]#
2、通過變數子串替換
vi laolang.log
wolf_20170806_1_wolf.jpg
wolf_20170806_2_wolf.jpg
wolf_20170806_3_wolf.jpg
wolf_20170806_4_wolf.jpg
wolf_20170806_5_wolf.jpg
wolf_20170806_6_wolf.jpg
wolf_20170806_7_wolf.jpg
wolf_20170806_8_wolf.jpg
wolf_20170806_9_wolf.jpg
wolf_20170806_10_wolf.jpg
[root@node01 data]# touch `cat laolang.log |tr "\n" " "`
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg
[root@node01 data]# f=wolf_20170806_10_wolf.jpg
[root@node01 data]# echo $f
wolf_20170806_10_wolf.jpg
[root@node01 data]# echo ${f%wolf*.jpg}
wolf_20170806_10_
[root@node01 data]# mv $f `echo ${f%wolf*.jpg}.jpg`
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg
[root@node01 data]# for f in `ls *wolf.jpg` ;do mv $f `echo ${f%wolf*.jpg}.jpg`;done
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.jpg
3、修改擴展名
把上面的jpg更換為log
[root@node01 data]# f=wolf_20170806_10_.jpg
[root@node01 data]# echo ${f/%jpg/log}
wolf_20170806_10_.log
[root@node01 data]# mv $f ${f/%jpg/log}
[root@node01 data]# ls
apache-maven-3.3.9 day1 laolang.log wolf_20170806_2_.jpg wolf_20170806_5_.jpg wolf_20170806_8_.jpg
apache-maven-3.3.9-bin.tar.gz day2 wolf_20170806_10_.log wolf_20170806_3_.jpg wolf_20170806_6_.jpg wolf_20170806_9_.jpg
cat day3 wolf_20170806_1_.jpg wolf_20170806_4_.jpg wolf_20170806_7_.jpg
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.jpg
[root@node01 data]# for f in `ls *.jpg` ;do mv $f ${f/%jpg/log} ;done
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.log
---------------------
建議看看這本適合Linux初學者的書籍《Linux就該這么學》
H. linux 怎麼修改shell的字元屬性
查看文件編碼file命令
file ip.txt
查看文件編碼file命令
file ip.txt
ip.txt: UTF-8 Unicode text, with escape sequences
一、利用iconv命令進行編碼轉換文件內容編碼轉換
iconv命令用於轉換指定文件的編碼,默認輸出到標准輸出設備,亦可指定輸出文件.
用法: iconv [選項...] [文件...]
有如下選項可用:
輸入/輸出格式規范:
-f, --from-code=名稱 原始文本編碼
-t, --to-code=名稱 輸出編碼
信息:
-l, --list 列舉所有已知的字元集
輸出控制:
-c 從輸出中忽略無效的字元
-o, --output=FILE 輸出文件
-s, --silent 關閉警告
--verbose 列印進度信息
-?, --help 給出該系統求助列表
--usage 給出簡要的用法信息
-V, --version 列印程序版本號
例子:
iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt
這個命令讀取aaa.txt文件,從utf-8編碼轉換為gb2312編碼,其輸出定向到bbb.txt文件.
你可照著上面的命令格式,改改試試。
I. Linux下的shell編程 如何替換文件中的內容
可以這樣做:
方法1:sed -i 's/被替換的內容/要替換成的內容/' file
方法2:sed 's/被替換的內容/要替換成的內容/g' file > file.out;mv file.out file。
(9)linux修改shell擴展閱讀:
Shell編程的常用技巧:
一、自動補齊:在linux中對於命令或路徑,可以TAB鍵進行自動補全,以下事項需要注意:
1、只存在一個該輸入字元開頭的命令或路徑,此時自動補全;
2、存在多個該輸入字元開頭的命令或路徑,此時第一次點擊TAB鍵無效,此時再次點擊TAB會羅列出所有該字元開頭的命令或路徑,繼續輸入直到僅僅剩一個時自動補全;
3、如果命令已經是完整的,TAB鍵則是本來的移動功能;而路徑的話要看命令自身的行為決定後續動作。
二、歷史命令
1、history命令可以顯示歷史執行過的命令;
2、使用!+序號執行該序號對應的命令;
3、使用!+字元執行該字元開頭的最後一次執行的指令。
三、命令別名
1、實現別名:alias ddd="df -Th";
2、刪除別名:unalias ddd;
3、顯示所有別名命令列表:alias;
4、存放位置:~/.bashrc (加入該文件後,重啟後不會消失)。
四、重定向
1、重定向標准輸入:< 命令接收輸入的途徑由鍵盤改為文件;
2、重定向標准輸出:> 將命令的執行結果輸出到指定文件,而不是直接顯示到屏幕;
3、重定向標准輸出:>> 將命令的執行結果追加輸出到指定文件;
4、重定向標准錯誤:2> 清除指定文件的內容,並把標准錯誤信息保存到指定文件;
5、重定向標准錯誤:2>> 標准錯誤信息追加到指定文件;
6、重定向標准輸出和標准錯誤:&> 將標准輸出、標准錯誤信息全部保存到指定文件,而不是直接顯示在屏幕上。
J. linux可以通過修改用戶目錄下的.bash_profile修改用戶的默認SHELL嗎
不是這樣改的。
用戶默認shell保存在文件/etc/passwd中,修改該文件對應用戶的Shell欄位才能修改默認Shell。可以用chsh命令完成這一修改。
還可以直接輸入想要的shell名稱(csh、ash、ksh等)來臨時更改shell,exit退出該臨時shell。