一、ls list
命令语法
ls [-alrtAFR] [name...]
命令参数:
-a 显示所有文件及目录
-l 除了文件名称外,亦将文件形态,权限,拥有者,文件大小等信息详细列出
-r将文件以相反次序显示(原定依英文字母次序排列)
-t将文件依照简历时间顺序列出
-A同-a,但不列出‘.’(目前目录)及‘..’(父目录)
-F在列出的文件名称后加一符号;例如可执行档则加‘*’,目录则加'/'
-R若目录下有文件,则该目录下的文件亦被皆依次列出
二、mkdir 创建目录
mkdir ---》make directory 例如:mkdir /data
参数:
mkdir [-mp] [目录名称]
-m:这个参数用来指定要创建目录的权限,但很少用,都会用chmod来处理
例如:mkdir -m 777/tmp/test
-p:这个参数用来递归创建目录
三、cd 切换路径
cd ---》change directory 例如:change /
四、touch 创建文件
touch---》 例如:touch oldboy.txt
也可以直接指定路径创建文件,不用切换路径 例如:touch /data/oldboy.txt
#提示:分号可以在一行内分隔两个命令,touch如果文件不存在就创建文件,
如果存在就改变atime等时间戳信息
#扩展:创建文件也可以用echo等,只不过touch更专业
#例如:echo >/data/oldboy.txt 或 > /data/old.txt也可以创建文件,
当然还有很多可以间接创建文件的命令,如vi,cat等
五、vi、vim #编辑文件
#vi 编辑器,相当于记事本,有编辑功能,但较弱,编辑普通文件用
#vim 复杂编辑器,相当于emeditor,notepad++,editplus,写程序时用
六、echo
#打印输出内容,配合“>或>>”可以为文件覆盖及追加内容,这个命令
可要掌握。一个大于号为重定向,会清空文件里所有以前的数据,两个大于号
为内容追加
#也可编辑文件,单行文本插入常用命令,内容都是放到文件的尾部
#例如:
#echo 'I am studying linux.' >>/data/oldboy.txt <---这个在企业里很常用,
单行或者多行内容追加到文件结尾
#echo "I am studying linux" >oldboy.txt <---覆盖文件内容
#echo“
oldboy
oldgirl
”>oldboy.txt
七、特殊字符命令:
>意思为重定向,会将文件里所有以前数据内容清空
>>追加重定向,在文件结尾假如内容,不会删除已有文件内容
#配合echo和cat写入内容
八、cat查看内容
特殊用法:增加多行内容
案例:
cat >/data/oldboy.txt<<EOF
I am studying linux.
EOF
#覆盖文件内容
cat >>/data/oldboy.txt<<EOF
I am studying linux.
EOF
#追加文件内容
#注意:EOF要成对出现,EOF可以被任意成对内容替换
九、cp拷贝命令 copy
#例如 cp oldboy.txt /tmp
#参数
-a:相当于-pdr;
-d:若源文件为链接文件,则复制链接文件属性而非档案本身;
-f:强制,若目标档案已经存在且无法开启,则移除后尝试;
-i:若目标文件存在时,在覆盖时会先询问;
-p:连同档案的属性一起复制过去,而非使用默认属性;
-r:递归,用于复制目录;
-u:若目标文件存在,则目标文件比源文件旧才复制;
十、mv移动 move
#例如:
mv /data /root
十一、pwd显示当前目录 print work directory
十二、man 查看命令帮助
十三、help 命令的帮助(查看bash内置命令 --->man bash)
或者man cp命令不是为内置命令时,此时会打印出所有内置命令
(bash命令总结)
十四、rm 删除文件 remove
参数
-r删除目录 等同于rmdir
-f强制删除
生产环境尽量不要使用rm,如果必须要删除,一定要用copy备份
十五、find 查找
find /root/data/ -type -f 查找文件
find /root/data/ -type -f -exec -exec rm -f {} \; 对查找后的结果进行删除
find /root/data/ -type -f |xargs rm -f 也可以删除
find /root/data/ -type -f ! -name 'oldgirl.txt' |xargs rm -f
#-type -f 按文件类型查找
#-exec 后面表示要对前面的结果进行处理,大括号表示-exec前面的执行结果 ‘\’表示转义,后面必须要接分号
#xargs的作用是,把前面的执行结果放到后面一个一个进行处理,相当于上一条的{}
#管道的作用是将前面执行的结果交给后面的命令进行处理
#-name 按名字查找,要查找的名字最好要加引号括起来,!表示取反
十六、 \转义字符,让一个有意义的字符,脱掉马甲
..表示上级目录
.表示当前目录
\.表示点
十七、head 头部,取文件前N行内容
如果不接参数,则表示查看文件前10行内容
-n 表示前n行 -3
十八、grep 过滤器,把想要的和不想要的分离开
如果不加参数,表示想要取出某个值
-v表示取反,意思是不想要某一个内容(排除)
例子:grep 'oldboy' test.txt
>oldboy
grep -v 'oldboy' test.txt
>test
>liyao
十九、sed
sed 过滤
sed -n '/过滤的内容/处理的命令' 文件 -n 表示取消默认输出 处理的命令:p 打印 d:删除
sed -n '/oldboy/p' test.txt
表示从test.txt文件中检索oldboy并打印出来
sed ‘/oldboy/d’ test.txt
表示从test.txt文件中查找除了oldboy以外的其他内容
题外:
主要Shell内置命令
Shell有很多内置在其源代码中的命令。这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快。不同的Shell内置命令有所不同。
A.2.1 bash内置命令
.:执行当前进程环境中的程序。同source。
. file:dot命令从文件file中读取命令并执行。
: 空操作,返回退出状态0。
alias:显示和创建已有命令的别名。
bg:把作业放到后台。
bind:显示当前关键字与函数的绑定情况,或将关键字与readline函数或宏进行绑定。
break:从最内层循环跳出。
builtin [sh-builtin [args]]:运行一个内置Shell命令,并传送参数,返回退出状态0。当一个函数与一个内置命令同名时,该命令将很有用。
cd [arg]:改变目录,如果不带参数,则回到主目录,带参数则切换到参数所指的目录。
command comand [arg]:即使有同名函数,仍然执行该命令。也就是说,跳过函数查找。
declare [var]:显示所有变量,或用可选属性声明变量。
dirs:显示当前记录的目录(pushd的结果)。
disown:从作业表中删除一个活动作业。
echo [args]:显示args并换行。
enable:启用或禁用Shell内置的命令。
eval [args]:把args读入Shell,并执行产生的命令。
exec command:运行命令,替换掉当前Shell。
exit [n]:以状态n退出Shell。
export [var]:使变量可被子Shell识别。
fc:历史的修改命令,用于编辑历史命令。
fg:把后台作业放到前台。
getopts:解析并处理命令行选项。
hash:控制用于加速命令查找的内部哈希表。
help [command]:显示关于内置命令的有用信息。如果指定了一个命令,则将显示该命令的详细信息。
history:显示带行号的命令历史列表。
jobs:显示放到后台的作业。
kill [-signal process]:向由PID号或作业号指定的进程发送信号。输入kill-l查看信号列表。
let:用来计算算术表达式的值,并把算术运算的结果赋给变量。
local:用在函数中,把变量的作用域限制在函数内部。
logout:退出登录Shell。
popd:从目录栈中删除项。
pushd:向目录栈中增加项。
pwd:打印出当前的工作目录。
read [var]:从标准输入读取一行,保存到变量var中。
readonly [var]:将变量var设为只读,不允许重置该变量。
return [n]:从函数中退出,n是指定给return命令的退出状态值。
set:设置选项和位置参量。
shift [n]:将位置参量左移n次。
stop pid:暂停第pid号进程的运行。
suspend:终止当前Shell的运行(对登录Shell无效)。
test:检查文件类型,并计算条件表达式。
times:显示由当前Shell启动的进程运行所累计用户时间和系统时间。
trap [arg] [n]:当Shell收到信号n(n为0、1、2或15)时,执行arg。
type [command]:显示命令的类型,例如:pwd是Shell的一个内置命令。
typeset:同declare。设置变量并赋予其属性。
ulimit:显示或设置进程可用资源的最大限额。
umask [八进制数字]:用户文件关于属主、属组和其他用户的创建模式掩码。
unalias:取消所有的命令别名设置。
unset [name]:取消指定变量的值或函数的定义。
wait [pid#n]:等待pid号为n的后台进程结束,并报告它的结束状态。
linux 三剑客
grep awk sed
未完待续............
浙公网安备 33010602011771号