定義別名命令baketc, 每天將/etc/目錄下所有文件, 備份到/testdir獨立的子目錄下, 並要求子目錄格式為backupYYYY-mm-dd, 備份過程可見
alias baketc='cp -a /etc/ /testdir/backup~date +%F~'
2 創建/testdir/rootdir目錄並復制/root所有文件到該目錄, 要求保留原有權限
cp -R --preserv=mod /root testdir/rootdir
如何創建/testdir/dir1/x,/testdir/dir1/y,
/testdir/dir1/x/a,/testdir/dir1/x/b,
/testdir/dir1/y/a,/testdir/dir1/y/b,
mkdir -p /testdir/dir1/{x,y}/{a,b}
如何創建/testdir/dir2/x, /testdir/dir2/y,
/testdir/dir2/x/a,/testdir/dir2/x/b,
mkdir -p /testdir/dir2/{x/{a,b},y}
如何創建/testdir/dir3, testdir/dir4, /testdir/dir5,
/testdir/dir5/dir6,/testdir/dir5/dir7,
mkdir -p dir{3,4,5/dir{6,7}}
1 將/etc/issue文件內容轉換為大寫保存到/tmp/issue.out中
cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out
2 將當前系統登錄用戶的信息轉換為大寫後保存到/tmp/who.out中
who | tr [:lower:] [:upper:] > /tmp/who.out
3 一個linux用戶給root發郵件,標題"help",正文如下:
Hello, I am 用戶名, the system version is here, please help me to check it, thanks!
操作系統版本信息
第一種 echo "hello, i am `whoami` or $USER, the system, thanks! \n`lsb_release`" | mail -s "help" root
第二種 mail -s "help" root <<eof
>hello, i am ~whoami~, the system, thanks!
>`lsb_release`
>eof
4 將/root/文件列表顯示成一行,並文件名用空格隔開
第一種 echo $(ls /root -a) > file1
第二種 ls /root -a | tr '\n' ' '
5 file文件內容"1 2 3 4 5 6 7 8 9 10" 計算所有數字總和
第一種 echo "1 2 3 4 5 6 7 8 9 10" | tr ' ' '+' |bc
第二種 echo &[echo "1 2 3 4 5 6 7 8 9 10"|tr ' ' '+']
6 刪除windows文本文件中的'^M'字符
cat file | tr -d '\015' > new_file
cat file | tr -d "\r" > new_file
cat file | tr -s "\r" "\n" > new_file
7 處理字符串 "xt.,| 1 jr#!$mn 2c*/fe34z4", 只保留數字和空格
echo 'xt.,| 1 jr#!$mn 2c*/fe34z4' |tr -cd '[:digit:] \n'
8 將PATH變量每個目錄顯示在獨立一行
echo $PATH | tr ":" "\n"
9 刪除文件的空行
cat a.txt | tr -s '\n'
10 將文件每個單詞(字母)顯示在獨立一行, 並無空行
cat /etc/init.d/dunctions |tr -cs '[:alpha:]' '\n'