FHS:标准文件架构规范
用好man命令
su - name 切换到用户name
su - root
chmod 777 filename
cd -:上一个工作目录
cd ~:用户的家目录
cd ~nid:q切换到nid的家目录
mkdir -p /tmp/dd/dd/d创建嵌套目录
rmdir dir:删除空目录
ls [文件名|目录名|NONE]
ls -a列出包含的隐藏文件
ls -l列出文件的详细信息
修改用户组:
chown nbcc:stu hello.sh
chown stu hello.sh
chown :nbcc hello.sh
ls -l hello.sh
列出的文件信息中;
d:目录文件
-:普通文件
c:字符文件
l:链接文件
cp -r /temp/aa ~ 拷贝目录到家目录
拷贝时存在多个同名文件处理办法:
\cp -f /temp/aa /tmp/file03 ~
cp /tmp/smple.sh ~nbcc 拷贝sample.sh到nbcc家目录
拷贝文件到目录下(并且保留拷贝前的权限-p)
cp -p /tmp/file03/sample.sh ~nbcc
mv /tmp/dd /tmp/dd1 /tmp/d2 ~移动多个目录到家目录
移动文件中覆盖同名文件;
mv -f /tmp/d2 ~
重名文件
mv ./file08 ./file01
删除命令:
rm ./file01
删除多个文件;
rm ./file01 ./file02 ./file02
删除目录:
rm -R ./dir1
直接删除目录:-f
rm -fR ./dir1
软链接
ln -s [链接指向的文件][链接名]
ln -s /tmp/hello.sh ./hello_slink
如果符号链接指向的文件被删除了,意味着链接断裂了。
硬链接、软链接
硬链接
ln [链接指向的文件][链接名]
注意:
1.不推荐创建目录硬链接
2.不推荐跨磁盘创建硬链接
3.硬链接的删除只是删除文件的名字,并不是删除文件
tar
tar -cf [打包文件名][要打包的文件/列表]
-c:创建打包文件
-f:指定打包文件名
打包多个文件:
tar -cf sample.tar /tmp/file1 /tmp/file2 /tmp/file3
列出打包里的所有文件名:
tar -tf ./sample.tar
删除打包内的文件:
tar -f ./sample.tar --delete tmp/file05
合并打包的tar文件:
tar -f ./sample.tar -A ./sample1.tar
向tar文件添加文件:
tar -f ./sample.tar -r ~/file.txt
解包文件:
tar -xf ./sample.tar -C ./sample
备注:默认解包到当前目录
-C:解包的目录
压缩文件:
gzip ./sample.tar
解压文件:
gzip -d ./sample.tar.gz
打包和压缩命令结合使用:tar和gzip
例如:
tar -czf sample.tar.gz /tmp/sample /tmp/file05
解压缩解包
tar -xzf sample.tar.gz

locate .tar 查找文件
locate是从数据库中查找:/var/lib/mlocate数据库
更新数据库:updatedb

find [查找范围][查找条件][动作]
find / -name passwd
find /bin -type l:查找符号链接文件
-type d目录文件
-type f:普通文件
-type c:字符文件
-type b:块设备文件
-type l:符号链接文件

查找三天内内容发生改变的文件
find /tmp -mtime -3 -ls
查找七天前内容发生改变的文件
find /tmp -mtime +7 -ls
查找4天前的那天目录下发生改变文件
find /tmp -mtime 4 -ls
注释:
+:表示n天之前
-:表示n天之内
n:表示前第n天
find /tmp -mmin -3 -ls :分钟
-amin -atime 文件被修改、执行时间
-cmin -ctime 文件属性被修改时间
-mmin -mtime 文件修改时间

按照大小查找;
查找目录下下于3K的文件;
find /tmp -size -3k -ls
查找比100字节大的文件
find /tmp -size +100c -ls

查找拥有者是root用户的文件
find /tmp -user root -ls
查找用户的uid为500的文件
find /tmp -uid 500 -ls
查找用户组是stu的文件
find /tmp -group stu -ls
查找用户组为gid0的文件
find /tmp -gid 0 -ls
按照用户的拥有权限查找文件
find /tmp -perm 754 -ls
find多参数查找文件:
与-a
或-o
非!
例子:
find /tmp \(-size +1k -a -size -10M -a -mmin -30 -a -type f\) -ls

查找到特定文件并删除
find /tmp \(-size +1k -a -size -10M -a -mmin -30 -a -type f\) -exec rm -rf {} \;
;在bash有特定意义,因此要用转移符
find ~\(-mmin -10 -a -type d \) -exec tar -cf {}.tar {} \;
-OK -exec (类似,会有提示信息)
查找名字为temp的文件删除不提示:
find / -name temp -exec rm {} \;
通配符:
*:任意长度的字符串(包括0长度)
?代表任意的单个字符
ls -l /bin/??sh
[c1-c2]c1-c2的字符序列
cp /tmp/file[0-9].txt ~ 拷贝文件到家目录下
[c1,c2,c3,c4,...cn]匹配中括号内字符序列中的任意单一的字符
example:
修改以下特点的文件属性:
chmod 700 /tmp/script[a,1,x].sh
{string1,string2,string3,string4,..stringn}匹配之中的某一个字符串
example:
rm -rf {script,shell}*.sh:删除开头如上的文件
!取反
打包除了[0-9]之间的任意一个字符
tar -cf file.tar /tmp/file[!0-9].txt

cat (concatenate)连接几个文件、从键盘创建文件,查看文件
查看文件
cat /var/shell.sh
查看文本文件(大文件)
less /var/shell.cpp (up,down向上下,pagedown,pageup)
head -n 20 /var/log/messages 查看文件的前20行
tail 查看文件的结尾信息
重定向:
ls -l /tmp/example/ 1> ./stdout.txt
ls -l / 1>>stdout.txt
ls -l /tmp/example/ 2> ./stdout.txt
ls -l / 2>>stderr.txt
重定向到一个文件中:错误、正确
ls -l /temp/example/file1 /tmp/example/file04 &>std.txt
忽略输出:
ls -l /tmp/example/file1 /tmp/example/file04 2>>/dev/null
输入重定向:
tr [准备要替换的字符][要替换成的字符]
tr ' ' '\t' < ./fruit.txt 将fruit.txt中的文本中空格替换为tab
sort -k [关键字字段序号][要排序的文本文件]
sort -k2 <<EOF
>1 apple
>2 pear
>3 banana
>EOF
1 apple
3 banana
2 pear

管道
grep cut head tail less more wc tr sort
grep [关键字文本] [查找的文本]
ls -al /etc | less
ls -al /etc | grep 'ssh'

cut
cat ~/install.log| cut -c1,2 切割的字符列序号
cat /etc/passwd | cut -f1 -d":" (数字,:分隔符)

wc:统计命令
wc /etc/passwd 统计行数和单词数
wc -l /etc/passwd 只统计文本的行数
example:
ls -al ~|cut -c1 | grep "d" | wc -l

Linux命令行使用的更多相关文章

  1. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  2. 详解Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  3. linux 命令行 光标移动技巧

    linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...

  4. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  5. git代理,windows命令行代理,linux命令行代理

    下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...

  6. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  7. Linux命令行修改IP、网关、DNS、主机名 的方法

    修改主机名:[改里面的 HOSTNAME 即可] vim /etc/sysconfig/network 网卡eth0    IP修改为 102.168.0.1 ifconfig eth0 102.16 ...

  8. Linux命令行与命令

    Linux命令行与命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...

  9. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  10. Linux命令行–初识Linux shell

    shell及脚本简介  GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...

随机推荐

  1. 20165206 2017-2018-2 《Java程序设计》第五周学习总结

    20165206 2017-2018-2 <Java程序设计>第五周学习总结 教材学习内容总结 内部类:支持在一个类中定义另一个类的类. 外嵌类:包含内部类的类,称为内部类的外嵌类. 匿名 ...

  2. 目标检测算法之YOLOv1与v2

    YOLO:You Only Look Once(只需看一眼) 基于深度学习方法的一个特点就是实现端到端的检测,相对于其他目标检测与识别方法(如Fast R-CNN)将目标识别任务分成目标区域预测和类别 ...

  3. python 通用装饰器,带有参数的装饰器,

    # 使用装饰器对有返回值的函数进行装饰# def func(functionName): # print('---func-1----') # def func_in(): # print(" ...

  4. Android Studio 打包签名教程

    android studio apk第三方加固与签名,混淆打包 https://jingyan.baidu.com/article/f25ef2545386af482c1b828f.html Andr ...

  5. ES6中const、let与var的对比详解

    对比 声明方式 变量提升 作用域 初始值 重复定义const 否   块级 需要 不允许let   否     块级 不需要 不允许var 是    函数级 不需要 允许 变量提升:const 和 l ...

  6. 反射PropertyInfo的简单使用

    namespace EF6._0Test { class Program { /// <summary> /// PropertyInfo的简单使用 /// </summary> ...

  7. 选择结构switch

    1.选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序中使用数字1~7来表示星期一到 ...

  8. 【BZOJ2560】串珠子

    题解: 跟n个点有标号的无向连通图个数几乎一模一样 直接上代码了 代码: #include <bits/stdc++.h> using namespace std; #define ll ...

  9. 【BZOJ2402】陶陶的难题II 分数规划+树链剖分+线段树+凸包

    题解: 首先分数规划是很明显的 然后在于我们如何要快速要求yi-mid*xi的最值 这个是看了题解之后才知道的 这个是斜率的一个基本方法 我们设y=mid*x+z 那么显然我们可以把(x,y)插入到一 ...

  10. 【AtCoder】ARC074

    ARC 074 C - Chocolate Bar 直接枚举第一刀横切竖切,然后另一块要求如果横切分成\(H / 2\)竖切分成\(W/2\)即可 #include <bits/stdc++.h ...