工作需要,一边用一边学,所以不是系统地整理
man :任何时候你觉得对一个命令行不是很确定,都可以通过输入“man + 命令”了解这个命令能确切是做什么的。
pwd :在终端中显示当前工作目录的全路径。
cd :要变更你当前所在的目录。
mkdir :创建一个新的目录。
rm:删除一个文件或目录
">"就是输出;">>" 则表示不清除原来的而追加输出。
cd :要变更你当前所在的目录。
mkdir :创建一个新的目录。
rm:删除一个文件或目录
">"就是输出;">>" 则表示不清除原来的而追加输出。
ls :列出目录内容。
ls范例:
列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面:
ls -ltr s*
将/bin 目录以下所有目录及档案详细资料列出:
ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*":
ls -AF
以递减顺序排列文件 # ls -l | grep ^- | sort -nr -k 5 | more
递归地以递减顺序排列文件 # ls -lR | grep ^- | sort -nr -k 5 | more
find范例:
将目前目录及其子目录下所有延伸档名是c 的档案列出来。
# find . -name "*.c"
将目前目录其其下子目录中所有一般档案列出
# find . -ftype f
将目前目录及其子目录下所有最近20 分钟内更新过的档案列出
# find . -ctime -20
mv:将一个档案移至另一档案,或将数个档案移至另一目录
mv参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。
范例:
将档案aaa 更名为bbb:
mv aaa bbb
将所有的C 语言程式移至Finished 子目录中:
mv -i *.c
ls >ls.txt
for s in $(cat ls.txt)
do
echo $s
done
从 本地 复制到 远程
======
* 复制文件:
* 命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
文件比较运算符
if [ -f url.txt ]
then
mv url.txt url.txt.$date
fi
-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]
-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]
-L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]
-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]
-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string长度为零,则为真 [ -z "$myvar" ]
-n string 如果 string长度非零,则为真 [ -n "$myvar" ]
string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]
算术比较运算符
num1-eq num2 等于 [ 3 -eq $mynum ]
num1-ne num2 不等于 [ 3 -ne $mynum ]
num1-lt num2 小于 [ 3 -lt $mynum ]
num1-le num2 小于或等于 [ 3 -le $mynum ]
num1-gt num2 大于 [ 3 -gt $mynum ]
num1-ge num2 大于或等于 [ 3 -ge $mynum ]
if语法
if [ expression ]
then
statments
elif [ expression ]
then
statments
else
statments
fi
then
statments
elif [ expression ]
then
statments
else
statments
fi
随机数
=$RANDOM