Linux操作指令学习笔记

摘抄总结了一些常用的操作指令,不很全面,主要是常用的用于学习记忆掌握
一、通配符
Shell提供了一种通配符(wildchar)
* :代表0,1,more,char
? :代表1,char
[character] one char in set
[!character]not one char in set
[[:class:]]one char in class
/五种通配符

[:digit:]number
[:lower:]lower char
[:upper:]upper char
[:alnum:]num + alpha
[:alpha:]low and upper
class里分为五类


比如:大家可以在命令行中执行以下代码:

$ ls /etc/*.conf  /把所以含.conf的文件罗列出来/
$ ls /etc/d*.conf /筛选出d开头的文件/
$ ls /etc/[dm]*.conf ///dm形成一个集合,同时筛选出含d,m开头

$ ls /etc/rc[[:digit:]].d ///把目录下的.d文件以及内容打印出来
$ ls -d /etc/rc[[:digit:]].d ///把目录下的.d文件打印出来

二、常见操作文件指令
常用:
ls
-a,显示all,可以查看隐藏文件
-d,表示显示目录自身的属性,而不是目录中的内容
-F,在显示目录条目时,在目录后加/
-h,可读格式
-l,长格式输出,比较常用
-r,反序
-t,修改日期

ls -l $(which cp) //找到cp的绝对路径

cp
-a,复制是附带属性archive
-i,交互的信息确认interactive
-r,递归recursive
-u,只会复制更新后的内容update
-v,复制时详细的实时命令信息verbose

mv 移动或重命名
-i,同上
-u
-v

rm
-i
-r
-f:强制force
-v

ln link 链接
ln file link //create hard link
ln -s item link //create symbol link
hard link:硬链接,不能给目录创建;链接的文件不能位于不同的设备
symbol link :符号(软)链接;相当于被链接文件的指针,类似于快捷方式,在ls -l中能看出->帮助我们来确定这是一个符号链接


三、常见命令
1.execute binary: 可执行程序
2.buildin bash : Shell提供的命令
3.shell function:shell函数,可能混合在环境变量里
4.alias:别名,建立在其他命令之上

type :shell内部命令;显示命令的类别
which:命令的存在位置
help :帮助信息
man :manul打印出用户手册
apropos:搜索简短的库信息,相当于man -k
whatis:简短信息
info:man的替代,包含超链接,(n:next node;p:preview node;q:quit;u:up;enter:jump to link;space:pagedown)
alias:创建别名命令;alias 新名字=’组合命令’
unalias:remove


四、I/O重定向 redirection
redirect standard output重定向标准输出
command > filename
command >> filename 重定向同时文件后追加内容

redirect standard output重定向标准错误
0:stdin
1:stdout
2:stderr
redirect stdout and stderr标准输出和标准错误同时定位到一个文件
ls -l ./正确目录/错误目录 > ls-output.txt 2>&1
ls -l ./正确目录/错误目录 &>ls-output.txt

useless message输出信息没有用
/dev/null相当于垃圾桶

比如说:ls -l /bin/usr 2> /dev/null

redirect stdin输入的重定向,把键盘输入重定向到文件。

cat:读取一个或多个文件,把内容复制到标准输出上。不能分页显示,可以实现文件合并效果。

command | command :管道线
filter :过滤器 有一个输入数据,做一个变换进行输出
sort(排序)、uniq(消除重复行)、wc(word count:line,word,count计数)、grep(匹配搜索文本(-i忽略大小写))、head/tail(打印前n行)、tee(管道):就是各种过滤器

比如:ls -l /usr/bin | sort | uniq -d| less
ls -l /user/bin | sort | uniq | grep zip
ls -l /user/bin | sort | head -n 5  //打印前5行
ls -l /user/bin | tee ls.txt | grep zip  //执行tee并不影响其他功能

五、echo语法
expansion展开

echo +string打印字符串
echo l*打印出所有l开头的文件名
echo *.txt打印所有后缀.exe的文件名
echo ~ 等同于pwd
echo $((2+2))运算=4,还包括了+ ,- ,* ,/ ,(**幂运算),%,但是只支持小数运算
echo Front-{A,B,C}-End 在{}中间是可变的区域,以上会输出Front-A-End Front-B-End Front-C-End
echo Number_{1..5} 会输出Number_1到5
echo a{A{1,2},B{3,4}}b 会输出aA1b aA2b aB3b aB4b
同样的指令,{}可以适用于其他指令,让复杂的任务变得可能,比如

$ mkdir {2010..2017}-0{1..9} {2010..2017}-{10..12}
会轮次生成每个月

学习了基本指令后,有一个问题,例如:
echo The total is $100.00,本意是输出一整段文字,但是上文提到了,实际输出会是The total is 00.00,那该怎么办呢
可以这样解决:

echo 'The total is $100.00' 
echo The total is \$100.00//////或者这样

这样也叫做引用机制。
“”在使用时可以使输出“”内的字符串,譬如上文的echo “{A..Z}”,但也有失效的情况比如算数运算,指令。
“”也可以在使用时对空格失效,比如ls “a b c.txt”,就不会依次索引名称为a的文件了,而是直接找到目标文件。一般在命名文件时尽量不要使用空格,使用连字符。
而‘’则效果更强,内部的字符全部会输出。
通过\转义字符来替换,\,$,\&,!,等都可以在“”中使用。


六、键盘操作技巧
move cursor移动光标 c ctrl a alt
c-a移动到行首
c-e移动到行尾end
c-f向前移动一个字符forward
c-b向后一个字符backward
a-f向前一个词
a-b向后一个词
c-l清空屏幕=clear

modify text修改文本
c-d删除光标位置的字符
c-t光标的位置字符和前面字符互换
a-t光标的位置单词和前面单词互换
a-l光标位置到单词末尾的字符全部小写lower
a-u光标位置到单词末尾的字符全部大写upper

copy&paste text
c-k剪切光标位置到行尾的文本
c-u剪切光标位置到行首的文本
a-d剪切光标位置到词尾的单词
a-backapace剪切光标位置到词头的文本
c-y粘贴

history 查看指令使用历史
history | less
history | grep /uer/bin ///查找
!num 执行某一条历史命令
c-p调出上一条记录
c-n调出下一条记录
a-<调出历史的第一条命令
a->调出历史的结尾
c-r递增搜索


七、权限管理
0 000 —
1 001 –x
2 010 -w-
3 011 -wx
4 100 r–
5 101 r-x
6 110 rw-
7 111 rwx
其中r w x分别代表了可读read,可写write,可进入文件夹excute
chmod 664 a.txt更改权限,3位数对照上表,分别代表了所有者权限,主权限,其他人权限。
也可以用符号表示法
u user
g group
o other
a all
chmod o-r a.txt代表了第三位数减去了read权限。

umask控制默认权限4位8进制
特殊权限setuid,可执行文件才能设置,提升权限到拥有者

su:切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo:暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟.
chgrp:chgrp命令用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。
passwd:用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

八、进程管理
ps 打印当前进程快照
ps会显示4个栏分别是:
PID:process id进程ID
TTY:teletype进程的控制终端
TIME:消耗CPU的时间
CMD:命令
ps x
STAT:states状态(R running, S sleep, D不可中断睡眠等待IO,T已停止,Z死进程或僵尸进程,<高优先级进程,N低优先级进程)
ps -ax
显示没有控制终端的进程
ps aux
列出了所有进程,%cpu进程cpu的耗时,%MEU内存消耗,VSZ virtual memory虚拟内存的使用,RSS phiscal memory物理内存,START运行时长,TIME耗时
ps -u
查找当前用户运行的所有进程信息

top 显示任务
分别是summary摘要信息,detail info详细信息
jobs 列出活跃的任务

中断一个进程ctcl-c

bg background把一个任务放在后台执行
fg front ground把一个任务放在前台执行

kill 杀死
kill [-signal]PID..,其中signal常用的有:1(挂起)、2(中断)、9(杀死)、15(终止)、18(继续)、19(停止)
killall

shutdown关机
shutdown -h now //关机
shutdown -r now //重启


九、网络管理
netstat 查看网络连接情况
-a列出所有端口
-at列出当前TCP连接情况
-apu显示UDP端口号的使用情况

traceroute 测试从当前主机到目的主机之间经过的网络节点

nslookup命令用于系统设定的DNS服务器解析域名,可以测试DNS服务器是否工作正常。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值