Linux命令行使用
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命令行使用的更多相关文章
- 像黑客一样使用 Linux 命令行
前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...
- 详解Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- linux 命令行 光标移动技巧
linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...
- 在linux命令行下执行php 程序
如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...
- git代理,windows命令行代理,linux命令行代理
下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...
- [转]12款最佳Linux命令行终端工具
摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...
- Linux命令行修改IP、网关、DNS、主机名 的方法
修改主机名:[改里面的 HOSTNAME 即可] vim /etc/sysconfig/network 网卡eth0 IP修改为 102.168.0.1 ifconfig eth0 102.16 ...
- Linux命令行与命令
Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...
- 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器
12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...
- Linux命令行–初识Linux shell
shell及脚本简介 GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...
随机推荐
- OpenCV-Python入门教程3-图像基本操作(访问像素点/ROI/通道分离)
一.获取和修改像素点的值 import cv2img = cv2.imread('lena.jpg') # 100, 90表示行列坐标 px = img[100, 90] print(px) # 获取 ...
- lsattr chattr 文件安全设置
[root@test_android_client_download xianlaigames]# lsattr -------------e- ./jilinmj.apk[root@test_and ...
- openresty capture
local args = {} args["name"] = "张三" args["sex"] = "男" local ...
- poshytip基本使用
js基本调用方法 $("#tips").poshytip({ content: $this.text(), alignTo: 'target', alignX: direction ...
- LibreOJ β Round #2
题解: 都是不错的技巧题目 t1暴力就不说了 t2dp是比较显然的 然后发现都是0,1用bitset优化 代码非常短 t3容易发现这个东西在不断合并 于是我们想到启发式合并 存疑:splay启发式合并 ...
- 【AtCoder】ExaWizards 2019
ExaWizards 2019 C - Snuke the Wizard 发现符文的相对位置不变,直接二分某个位置是否到达最左或最右来计算 #include <bits/stdc++.h> ...
- Flink--sink到kafka
package com.flink.DataStream import java.util.Properties import org.apache.flink.api.common.serializ ...
- 2018牛客网暑假ACM多校训练赛(第四场)C Chiaki Sequence Reloaded (组合+计数) 或 数位dp
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round4-C.html 题目传送门 - https://www.no ...
- SPOJ LCS - Longest Common Substring 字符串 SAM
原文链接http://www.cnblogs.com/zhouzhendong/p/8982392.html 题目传送门 - SPOJ LCS 题意 求两个字符串的最长公共连续子串长度. 字符串长$\ ...
- Orleans2.0正式版发布
2.0版本支持.net core. Orleans是一个微软研究创建的用于大规模分布式计算的框架,使用者不需要学习和应用复杂的并发或其他缩放模式. 根据我几个项目的使用经验来说,Orleans虽然有应 ...