01-Linux基础入门

Posted 张雨嘉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01-Linux基础入门相关的知识,希望对你有一定的参考价值。

☆本节重点:
必须掌握的命令:
man,touch,ls,mkdir,cp,rm,mv,echo,pwd,cat,alias,unalias,head,tail,tree,rmdir
想拿到高新需要掌握的命令:find,xargs,awk,sed,grep,vi,vim,seq
1、mkdir make directorys 创建目录 例子:mkdir /data 在根/下创建data目录
2、ls list(列表) 列表目录文件 例子:ls / 列根/目录下目录和文件
-l(long)长格式,-d(directoys)查看目录
3、cd change directory 改变目录路径 例子:cd /etc

  • 相对路径和绝对路径:
    Windows绝对路径:E:\Linux,从头(盘符)开始的路径。
    Linux绝对路径:cat /etc/sysconfig/network-scripts/ifcfg-eth0,从根/开始的路径。
    相对路径:不从/根开始,不从头(/根)开始的路径。

4、pwd print work dirdctory 打印工作目录(显示当前所在路径)
5、touch 创建文件或更新文件的时间戳,如果文件不存在,就建立新文件,如果存在,就改变文件的访问时间atime等时间戳信息
6、vi 相当于Windows记事本,简单。例子:vi zhangyujia.txt
7、vim 复杂编辑器 功能复杂,高亮,自动缩进(写shell/python等脚本用)
8、echo 打印输出内容,配合“>或>>”可以为文件覆盖及追加内容,还有一个较复杂不常用的类似命令printf。
例如:
echo' 1111
2222
3333'>>zhangyujia.txt
- 多行文本追加
cat >>/data/zhangyujia.txt< >/data/zhangyujia.txt<<zhangyujia
I am studying Linux.
I am studying Linux.
222222222222
zhangyujia

  • 特殊符号

>或1> 输出重定向:把前面输出的东西输入到后边的文件中,会清除文件原有内容。
>>或1>> 追加重定向:把前面输出的东西追加到后边的文件尾部,不会清除文件的原有内容。
0<或< 输入重定向:输入重定向用于改变命令的输入,后边指定输入内容,前面跟文件名。
0<<或<< 追加输入重定向:后跟字符串,用来表示“输入结束”。也可以用ctrl+d来结束输入。
例子:
cat >>/data/zhangyujia.txt 0<<EOF
I am studying Linux.
EOF
2> 错误重定向:把错误信息输入到后边的文件中,会删除文件的原有内容。
2>> 错误追加重定向:把错误信息追加到后边文件中,不会删除文件原有内容。
说明:
1、箭头的指向就是数据的流向。
2、数字说明:
①标准输入(stdin): 代码为0,使用0<或0<<。数据流向从右向左。
②标准正常输出(stdout):代码为1,使用1>或1>>。数据(正确的数据)流向从左向右。
③标准错误输出(stderr):代码为2,使用2>或2>>。数据(错误的数据)流向从左向右。
④2>&1标准正常输出和标准错误输出一样,1放到哪,2就放到哪。
echo 'zhangyujia' >a.txt 2>&1

9、cat 查看文件内容 例子:cat zhangyujia.txt
10、xargs 从标准输入获取内容创建和执行命令行 -n 数字,分组
“>”意思为重定向,会清楚文件或所有以前数据
“>>”为内容追加,只在文件尾部追加需要的内容
11、cp copy 拷贝文件或目录,默认不能拷贝目录 -r:递归,用于复制目录;-a:相当于 -pdr,-p:连同档案的属性一起复制过去,而非使用默认属性;
12、rm remove 删除目录和文件 -f(force)强制,-r递归,用于删除目录
注意:删除命令要慎用,非常危险,删除前一定要先备份一份儿。
13、mv move 移动文件或目录
☆14、find 查找 -type 文件类型(f(file),d(directory),c(character),b(block),s(socket)),-name"文件名",-mtime 时间,按修改时间查找,时间数字,+7 7天以前,7 第七天,-7最近7天。
例子:
find /data -type f -name "zhangyujia.txt"
find /data -type f -name "zhangyujia.txt" -exec rm {} \;
find /data -type f -name ".txt"
find /data -type f -name "
.txt" |xargs
find /data -type f -name "*.txt" |xargs rm -f

  • 特殊字符:
    | 管道
    .. 上一级目录
    . 当前目录

☆15、grep 过滤需要的内容
-v 后边接要排除内容
例子:
cat >>test.txt< test/del.sh
[root@centos6 zhangyujia]# echo "zhangyujia" >test.sh
[root@centos6 zhangyujia]# echo "zhangyujia" >t.sh
[root@centos6 zhangyujia]# echo "zhangyujia" >.sh
[root@centos6 zhangyujia]# tree
.
├── test
│   └── del.sh
├── test.sh
└── t.sh
1 directory, 3 files

    ► 方法一
        [root@centos6 zhangyujia]# find /zhangyujia -type f
        /zhangyujia/test/del.sh
        /zhangyujia/c.txt
        /zhangyujia/test.sh
        /zhangyujia/t.sh
        /zhangyujia/b
        /zhangyujia/a
        /zhangyujia/.sh
        [root@centos6 zhangyujia]# find /zhangyujia -type f -name "*.sh"
        /zhangyujia/test/del.sh
        /zhangyujia/test.sh
        /zhangyujia/t.sh
        /zhangyujia/.sh
        [root@centos6 zhangyujia]# find /zhangyujia -type f -name "*.sh" |xargs cat
        zhangyujia
        zhangyujia
        zhangyujia
        zhangyujia
        [root@centos6 zhangyujia]# find /zhangyujia -type f -name "*.sh" |xargs sed 's#zhangyujia#gongli#g'
        gongli
        gongli
        gongli
        gongli
        [root@centos6 zhangyujia]# find /zhangyujia-type f -name "*.sh" |xargs sed -i 's#zhangyujia#gongli#g'
        [root@centos6 zhangyujia]# find /zhangyujia -type f -name "*.sh" |xargs cat
        gongli
        gongli
        gongli
        gongli
    ► 方法二(将gongli回改成zhangyujia)
        [root@centos6 zhangyujia]# sed -i 's#gongli#zhangyujia#g' `find /zhangyujia -type f -name "*.sh"`
        [root@centos6zhangyujia]# find /zhangyujia -type f -name "*.sh" |xargs cat
        zhangyujia
        zhangyujia
        zhangyujia
        zhangyujia

22、awk 过滤、输出内容,一门语言。NR代表行号。
例题:
- 只查看 ett.txt文件(100行)内第20到第30行的内容(企业常见面试题)
► 建立测试文件
seq 100 >ett.txt
cat ett.txt
► 方法一(太LOW):head -30 ett.txt |tail -11
► 方法二:sed -n '20,30'p ett.txt
► 方法三:awk 'NR>19&&NR<31' ett.txt
► 方法四:awk '{if(NR<31 && NR>19) printf $0"\n"}' ett.txt
(未完待续......)


欢迎关注
新浪微博:https://weibo.com/yougazhang0506
微信公众平台:张雨嘉

我的网站:http://www.zhangyujia.cn
51CTO博客:http://blog.51cto.com/11099293
CSDN博客:http://blog.csdn.net/u013260195


以上是关于01-Linux基础入门的主要内容,如果未能解决你的问题,请参考以下文章

01-linux基础-操作系统的学习

01-linux基础-操作系统的学习

01-linux基础-操作系统的学习

Java基础入门五)之方法以及递归算法

推荐net开发cad入门阅读代码片段

Linux性能优化从入门到实战:01 Linux性能优化学习路线