Linux 常用快捷键、文件管理和查询命令

2018年8月25日08:38:00 发表评论 20 阅读

Linux 常用快捷键、文件管理和查询命令

Shell应用技巧,常用快捷键
帮助命令
man (帮助命令)
info (和man差不多)
whatis (查询基本信息,等效于man -f)
help (帮助)
--help (获取选项信息【常用】)
alias (别名)
文件管理、文件搜索命令
cd (切换目录)
pwd (显示当前目录)
特殊目录
ls (显示目录文件)
touch (创建空文件)
mkdir (创建新目录)
cp (复制文件或目录)
mv (移动文件或重命名)
rm (删除文件)
cat (显示文件内容)
more (分页显示文件内容)
less (分页查询,比more更加强大)
head (查看文件的前几行)
tail (查看文件的后几行)
ln (产生链接文件)
which (显示系统命令所在目录)
find (查找文件或目录)
locate (寻找文件或目录)
grep (在文件内容中搜索匹配的行并输出)
其他
输入/输出重定向
history (显示历史命令)
| (管道)
命令连接符
命令替换符
netstat
负载信息
firewall防火墙
其他

 

Linux 常用快捷键、文件管理和查询命令

Shell应用技巧,常用快捷键

Shift + insert             #粘贴
Ctrl + insert              #复制
Tab【按键】或者 Ctrl + i   #命令补齐 【这个快捷键太有用了,这不就是linux下的智能提示么】
Ctrl + w                   #删除前一个单词
Ctrl + u                   #删除光标前全部字符
Ctrl + k                   #删除光标后全部字符
Ctrl + d                   #删除光标所在字符
Ctrl + y                   #将删除的字符粘出来
Ctrl + a                   #将光标移动到行首
Ctrl + e                   #将光标移动到行尾
← 或者 ctrl + b            #光标左移动
→ 或者 Ctrl + f            #光标右移动
↑ 或者 Ctrl + p            #显示上一条命令
↓ 或者 ctrl + n            #显示下一条命令
ctrl + s                   #暂时冻结输入
ctrl + q                   #解冻(解冻后会自动输入之前的输入)
Ctrl + l                   #清屏  
Ctrl + c                   #退出正在的执行命令或另起一行
Ctrl + d                   #退出登录
Ctrl + z

帮助命令

man (帮助命令)

原意:manual
语法:man [命令或配置文件]  
首先我们学习linux命令太多,不可能记住所有命令。那么这个man命令就是个很好的帮助命令。  
示例:
man 1 passwd  # 1查看命令帮助 ,1默认可以省略
man 5 passwd  # 5查看配置文件帮助
#只要按下/,光标就会跑到这个地方来,你就可以开始输入搜寻字串(n继续往下查询,N方向查询)
#q退出、空格向下翻页、pgup向上翻页

info (和man差不多)

原意:information
语法:info [任何关键字]

whatis (查询基本信息,等效于man -f)

#mandb 更新whatis数据库

help (帮助)

可以查询一些shell内置命令帮助,如 cd、pwd

--help (获取选项信息【常用】)

示例: 
[root@localhost ~]# cat --help
用法:cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。
  -A, --show-all           等于-vET
  -b, --number-nonblank    对非空输出行编号
  -e                       等于-vE
  -E, --show-ends          在每行结束处显示"$"
  -n, --number             对输出的所有行编号
  -s, --squeeze-blank      不输出多行空行
  -t                       与-vT 等价
  -T, --show-tabs          将跳格字符显示为^I
  -u                       (被忽略)
  ...
有了这个命令,我们学习起来就有了诀窍。  

alias (别名)

查看别名:alias
命令别名:alias mycp='cp'
这样起的别名只在当前窗口有效,如果要是命令长期有效则要修改配置文件.bashrc,在/root目录下。  
这样就很方便我们定制自己的个性命令了。比如重启supervisorctl reload这个命令记不住,太长了。我们可以别名alias reloadsupervisorctl='supervisorctl reload'。这样我们只要记住reload然后按tab键就可以自动补全了。

文件管理、文件搜索命令

cd (切换目录)

原意:change directo
语法:cd [目录]

pwd (显示当前目录)

原意:print working directory
语法:pwd

特殊目录

. 代表此层目录(cd ./dotnet 和 cd dotnet等效)
.. 代表上一层目录
- 代表前一个工作目录(上次执行cd前的目录)
~ 代表“目前使用者身份”所在的主文件夹(和直接执行cd等效)
~account 代表 account 这个使用者的主文件夹( account是个帐号名称)
示例:
cd ~   #和直接cd 等效
cd ..  #返回上层目录
cd -   #回到上次执行cd执行前的目录

ls (显示目录文件)

- 原意:list
- 语法:ls [-ald] [文件或目录]

touch (创建空文件)

语法:touch [文件名]
查看文件的时间信息:
modification time ( mtime):内容数据变更时
status time ( ctime):状态改变时
access time ( atime) :该文件的内容被取用时
示例:
[root@localhost dotnet]# ls -l dotnet              #查看dotnet文件的创建时间(默认就是mtime)
-rwxr-xr-x. 1 1002 27 105664 721 07:16 dotnet
[root@localhost dotnet]# ls -l --time=atime dotnet #查看dotnet文件的读取时间
-rwxr-xr-x. 1 1002 27 105664 819 17:31 dotnet
[root@localhost dotnet]# ls -l --time=ctime dotnet #查看dotnet文件的状态更新时间
-rwxr-xr-x. 1 1002 27 105664 815 20:23 dotnet

mkdir (创建新目录)

语法:mkdir [目录名]

cp (复制文件或目录)

语法:cp -r [原文件或目录][目的目录]
示例:
[root@localhost ~]# cp mytest.txt mytest2.txt #复制mytest.txt 到 mytest2.txt
[root@localhost ~]# cp project project2       #复制文件夹(如果文件夹里面有内容赋值失败) 
cp: 略过目录"project"
[root@localhost ~]# cp -r project project2    #复制文件夹 (需要带上 -r参数,递回持续复制)

mv (移动文件或重命名)

原意:move
语法:mv [源文件或目录 ][目的目录]

rm (删除文件)

原意:remove
语法:rm -rf [文件或目录]   #r是删除目录 f是不需要确认
示例:
[root@localhost ~]# rm mytest2.txt     #删除文件mytext2.txt(会默认给出提示)
rm:是否删除普通文件 "mytest2.txt"?y
[root@localhost ~]# rm -f mytest.txt   #删除文件不需要提示(带上 -f参数)
[root@localhost ~]# rm project2        #不能删除目录
rm: 无法删除"project2": 是一个目录
[root@localhost ~]# rm -rf project2    #删除目录需要带上-r-r递回删除、带上f是不需要确认提示,如果一百个文件,提示一百次会疯的)
[root@localhost project2]# rm System.Xml*                #删除System.Xml开头的文件
rm:是否删除普通文件 "System.Xml.ReaderWriter.dll"?y
rm:是否删除普通文件 "System.Xml.XDocument.dll"?y

cat (显示文件内容)

原意:Concatenate
语法:cat [文件名]
示例:
[root@localhost ~]# cat mytest.test     #查看文件mytest.test
[root@localhost ~]# cat -n mytest.test  #-n显示行号 (类似nl命令)
这个命令有个缺点,就是显示全部信息,如果内容过多,浏览就不方便了。

more (分页显示文件内容)

语法:more [文件名] 
 空格或f显示下一页
 回车显示下一行
 q退出
示例:
[root@localhost ~]# more 三体.txt 
输入/  然后输入关键字比如“三”
/三
...跳过
相关文章
 
《三体3》未获雨果奖 ...
《三体》电影确定上映日程,...
#把带“三”的行都搜索出来了。

less (分页查询,比more更加强大)

more 只能翻下一页,less可以上下翻页。
参数:
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻“字串”的功能;
?字串 :向上搜寻“字串”的功能;
n :重复前一个搜寻 ( 与 / 或 ? 有关!)
N :反向的重复前一个搜寻 ( 与 / 或 ? 有关!)
g :前进到这个数据的第一行去;
G :前进到这个数据的最后一行去 ( 注意大小写) ;
q :离开 less 这个程序;
示例:
[root@localhost ~]# less  三体.txt 
输入/  然后输入关键字比如“三” 可以高亮关键字。

head (查看文件的前几行)

语法:head -num [文件名]
示例:
[root@localhost ~]# head -n 5 三体.txt   #显示前五行
[root@localhost ~]# head -n 5 三体.txt   #不显示后五行

tail (查看文件的后几行)

语法:tail -num [文件名]

ln (产生链接文件)

原意:link
语法:ln -s [源文件] [目标文件]
示例:  
ln -s /home/testfile /home/testfile.soft  #创建文件的软链接testfile.soft  
ls -s /home.testfile /home/testifle.hard  #创建文件的硬链接testfile.hard

which (显示系统命令所在目录)

语法:which [命令名称]
示例:
[root@localhost dotnet]# which ifconfig
/usr/sbin/ifconfig

find (查找文件或目录)

语法:find [搜索路径][搜索关键字]
-a 逻辑与 -o 逻辑或  -name文件名 -size文件大小 -cteime文件修改时间
示例:
find /etc -name init    #查找目录下名字是inti的文件   
find /etc -size +204800 #查找目录下大于100M的文件   
find /etc -ctime -1     #查找24小时内被修改过属性的文件和目录  
find mytest -exec ls -l {} \; #查看当前目录mytest文件夹下的文件执行 ls -l 命令。 -exec {}\; 是固定格式。
find mytest -name F* #查找mytest文件夹下以F开头的文件
find mytest -name F??? #查找mytest文件夹下以F开头的并且文件名只有四个字母

locate (寻找文件或目录)

用法:locate [搜索关键字]
示例:
[root@localhost dotnet]# locate dotnet    #查询所有包含dotnet的文件和目录  
[root@localhost dotnet]# locate Dotnet    #查询不到,因为区分大小写
[root@localhost dotnet]# locate -i Dotnet #查找所有路径或文件名包含dotnet关键字文件路径,且不区分大小写
[root@localhost dotnet]# locate -ic Dotnet#查询搜索结果的数量 
3661
说明:
查询缓存数据库里查询(可以使用updatedb命令 [建立目录文件的数据库],默认每天更新一次)

grep (在文件内容中搜索匹配的行并输出)

用法:grep [指定字符串][源文件]
示例:
grep 我 testfile #搜索当前目录下的文件testfile中包含“我”的行

其他

输入/输出重定向

- > 输出重定向
示例: ls -l > mytest.txt #将当前目录的所以文件信息写入mytest.txt文件下。
- < 输入重定向
示例:wall <  mytest.txt  #将mytest.txt文件里面的内容广播(wall广播命令)  
- 2> 错误重定向
示例:ggg 2> err.txt      # err.txt将记录错误信息 (ggg是个错误命令)

history (显示历史命令)

| (管道)

ls查询到的文件可能很多,如果我们想要分页浏览,我们可以使用管道命令  
ls -l /etc | more              #分页查看etc目录下的文件  
ls -l /etc | grep init         #查看etc目录下文件名包含init的文件  
ls -l /etc | grep init | wc -l #查看etc目录下文件名包含init的文件的个数

命令连接符

 ; 
示例:cd /home ; ls #跳转到home目录并且查看里面的文件(就算是错误的命令也会继续执行后面的命令。)
 &&
示例:ggg && ls #不会查看目录下的文件(中间有错误的命令存在就不会执行后面的命令)
 ||
示例:ggg || ls #会执行查看目录下的文件(遇到可以执行成功的命令就会停止执行后面的命令)

命令替换符

用法:命令1 `命令2`
示例:
ls -l `which cd` #查看cd命令的文件信息(which定位命令的位置)

netstat

netstat -lntp  #查看监听(Listen)的端口
netstat -antp  #查看所有建立的TCP连接
netstat -tunlp #查看端口使用情况 (如  netstat -tunlp | grep 3306 查看3306端口是否被使用)
netstat -n | grep tcp | grep 80 | wc -l #监控网络客户连接数

负载信息

ps -eLf | grep dotnet | wc -l           #监控dotnet线程数
mpstat       #不但能查看所有CPU的平均信息,还能查看指定CPU的信息。
top -u mysql #查看使用情况 按键盘数字“1”,可监控每个逻辑CPU的状况 (http://blog.csdn.net/dxl342/article/details/53507673)
df -lh            #显示所有硬盘的使用状况

firewall防火墙

firewall-cmd --zone=public --add-port=80/tcp --permanent     #开放80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent  #关闭80端口
firewall-cmd --reload                                        #重新载入,使其生效
systemctl restart firewalld                                  #重启防火墙
firewall-cmd --zone=public --list-ports                      #查看防火墙开启的端口
http://www.cnblogs.com/moxiaoan/p/5683743.html

其他

- su #用户切换
[root@localhost dotnet]# su BennyZhao
[BennyZhao@localhost dotnet]$ su root
- 图形界面与字符界面切换
init 5 #切换到图形界面
init 3 #切换到命令行界面
- 安装rz
yum install lrzsz #安装rz和sz命令
- curl访问
curl              #访问
注意:除了 / 之外,所有的符号都可以为文件或文件夹命名。命名大小写敏感。
yum list installed | grep dotnet  #查找已经安装的程序
yum remove dotnet                  #卸载安装的程序

hcyaobin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: