Linux学习笔记(一)---常见命令和linux基础原理

cp [options] source1 source2 ... destdirectory
-a 连同文件的属性包括文件的权限的拥有者,创建时间
-f 强制的意思
-i 交互模式,删除之前会询问用户
-r 递归复制
-u 目标文件和源文件有差异时,才会进行覆盖(常用来检测新旧文件的覆盖情况)


mv [options] source1 source2 ... destdirectory
-u 目标文件和源文件有差异时,才会进行覆盖(常用来检测新旧文件的覆盖情况)
-i 交互模式
-f 强制操作,不进行询问,和i相反


basename 得到当前路径中的文件名
dirname  得到当前路径中的最后一个目录的名字(路径)


basename /etc/sysconfig/network   ---> network
dirname /ect/sysoconfig/network   ---> /etc/sysconfig


cat [options] file
-n  显示行号
-E  将结尾的换行符以$进行显示
-v  列出一些看不见的特殊符号
-A  等于-EvT 组合
-T  将tab按键以^I显示出来


cat -An yun.conf


tac 和 cat 展示的内容是相反的


nl [options] file
-b a   空行显示行号
-b t   空行不显示行号
-n ln|rn|rz 行号的显示的位置
-w ?  ?号为行号


nl -n rz -w 3 /etc/issue


more  翻页查看
less  翻页查看
/? 按内容进行搜索
N  上一处
n  下一处


head -n 20 file 查看某个文件的前面20行内容
tail -n 20 file 查看某个文件的最后20行内容
     -f


od [options] file  --->这里特指的是查看二进制类的文件
-t   a:使用默认的字符来显示内容
     c:使用ASCII的编码的方式来显示内容


od -t c passwd


date 日期

cal  日历


bc   计算器
scale=3 浮点数为3


umask 以数字形式展示文件或目录的权限
     -S 以ugo的形式进行显示
umask 003 进行更新默认的umask设置


which [options] filename(完成的可执行的文件名)
-a 展示所有符合要求的
找的默认的是path路径下


whereis [options] 文件名或目录
-b 搜索二进制
-m 搜索在帮助文件manual的文件


loacte  文件名(部分或全部名称)
--->/var/lib/slocate   <---数据库位置
        --->/etc/upatedb.conf  <---数据库的二进制文件


find [PATH] [options] [action]


chattr [-+=] [options] fileordirectory
+a   设置了之后此文件只能增加内容,而不能进行删除。而且只有root用户才能设置这个权限。
+i   i的作用很大,它可以让一个文件无法进行删除,改名,设置连接,无法写入内容。


chattr +ai reademe.txt


lsattr [options] file
-R    递归展示其子目录
-a    将隐藏的属性一起展示出来
chmod 7666 1.txt
   ---> -rwSrwSrwT   1.txt
SUID ---  4
GUID ---  2
Sticky Bit  ----  1


s,t(S,T) --->  替换的x的位置




find ./ -size +1000k  查询当前目录文件大于1000k的文件
find ./ -mtime 0      查询最近24小时内修改的文件
find ./ -perm 600 -exec ls -l {} \;   查查询文件属性等于600的,并将它们列出来。


df [options] file
-a  列出所有的文件系统,包括特有的。/proc
-h  以kb,mb,gb显示
-k  以kb为单位显示文件系统
-i  不用硬盘的容量,而使用inode的数量来进行显示


du [options] file
-a  统计所有文件和目录,因为默认是仅统计目录下的文件而已
-k  以kb的方式显示
-m  以mb的方式显示
-h  以人们易读的方式列出


compress [-dc] file   早期的压缩文件命令
uncompress        解压的文件的命令


gzip [options] 文件名
-d  解压的参数
-c  将压缩的数据流输入到屏幕上,使其可用通过导向进行处理
-#  范围是-9到-1 ---> 压缩等级  -1最快,压缩比最差;-9最慢,压缩比最好


gzip -c -5 1.txt readme.md > hehe.gzip 


zcat  查看压缩文件中内容
zcat  demo.gz


bzip2 [options] file
bzcat 文件名
bzip2 的参数和用法和gzip一样,进行类似联系即可


tar [options] file | directory ...
-c  create,打包
-x  解压
-t  查看 
    c.x.t一个参数只能出现一个
-z  打包的时候以gzip进行压缩
-j  打包的时候以bzip2的进行压缩
-v  显示压缩过程中文件
-f  使用文件名,出现f后,立马就要跟文件名
-p  permission权限的意思,就是使用文件的原来的权限
-P  可以使用绝对路径要压缩
-N  ‘2017/1/1’比这个yyyy/MM/dd新的文件才会被打包
--exclude FILE :--->  压缩的过程中不要讲FIFE文件进行打包


tar --exclude ./demo -zcvf tmp.tar.gz ./*
tar -tvf tmp.tar.gz
tar -cvf - /etc | tar -xvf -  --->这里的输入文件是-,输出文件也是-
cp -r /etc /tmp/test
tar -cvf - /tmp/test | tar -xvf /tmp/aa 


dd  备份
dd [if,of] [count]
if  输入文件
of  输入文件
count  多少bs的意思


dd if='/etc/passwd' of='/tmp/test/passwd.back' count=1


cpio [options] >/< [file|devedive]
          ---> 备份
          ---< 还原


-o 将数据复制到文件或设备中
-v 让存储过程中文件显示在屏幕上
-d 自动建立好目录
-c 一种较新的文件的存储过程的文件
-B 让默认的块增加5120字节




vi vim
0  数字“0”,移到这一行的最前面的一个字符
$  移到这一行的最后一个字符
H  移到当前屏幕的子最上限
M  移到当前屏幕的中间
L  移到当前屏幕的最底部
G  移到这个文件的的最后一行
nG 移到这个文件的第n行
n<enter>  向下移动n行
dd  删除光标所在的那一行
ndd 从光标所在行开始,向下删除n行
yy 赋值光标所在行
nyy  从光标所在行向下复制n行
p  粘贴复制内容到光标所在行的下一行
P  黏贴复制内容到光标所在行的上一行
a  从当前光标所在的文件的下一个字符进行输入




echo $PATH 查看当前变量的内容
gyoomi=myname --->  进行自定义变量进行设置
unset myname  取消自定义变量的设置


type command-name  查看当前的命令是否是bash(Bouruce Again SHell)还是alias(别名)


examples:
   --->name=Gyoomi
       export name
       bash     --->开启子程序
       echo $name   --->显示结果是Gyoomi
       exit         --->退出子程序


set  查看系统的其他变量(非环境变量)
     几个重要的其他变量
     echo $PS1    命令提示符
     echo $$      代表当前shell的pid
     echo $?      上一个执行的回传码
locale  语系变量


read [optins] variable
-t  等待的秒数
-p  后面可以跟提示符
read -t 5 aaa
echo $aaa


read -p 'please keyin yourname:' yourname


echo $yourname


declare/typeset  声明变量的类型
declare [options] variable
-i  声明成数字类型
-a  声明成数组
-x  设置成环境变量
-r  设置成只读属性


declare -i sum 
sum=100+90-20
echo $sum
declare -x sum
declare -r sum


arr[0]='hehe'
arr[1]='heihei'
arr[2]=‘jiji’


echo "${arr[1]},${arr[2]}"


alias lm='ls -h | more'  别名
unalias=lm


history  历史


>覆盖  >>追加
0标准输入 <,<<
1标准输出 >,>>
2标准错误输出 2>,2>>


ll -h /home >/tmp/home.file
ll /etc/sysconfig >> /tmp/home.file


ls ./ testing* > list 2> erro
ls ./ testing* > list 2>/dev/null
ls ./ testing* > list 2> list     错误写法
ls ./ testing* > list 2>&1        正确写法


<   --->把其他文件的内容添加到其中取
cat > catfile < tempfile


<< ---> 表示结束字符


cat > catfile <<end
> this is my catfile content
> haha
> end   <=== 输入这个就立马结束, 不用输入crtl+d键


&&   --->前面的执行正确才会执行后面的命令
||   --->前面的命令有误才会执行后面的命令、
常用的形式是: command1 && command2 || command3
example:
ls ./ testing* && echo "exist" || echo "not exist"


cut [options]
-d  后面跟分隔符
-f  根据-d的分割开来的进行取
-c  以字符为单位来取出数据


echo $PATH | cut -d : -f 4
echo $PATH | cut -c 12-20  


grep [options]
grep java


sort [options] [file or stdin]
默认按照第一个字段来排序
-t  分隔符  默认是按照tab键来进行划分的
-k  按照 那个字段来进行排序
-u  相同的数据只出现一次 等于 uniq


cat /etc/passwd | sort   默认按照第一个来进行排序
cat /etc/passwd | sort -t ':' -k 3
last | cut -d ' ' -f 6 | sort    将最近登录的用户的用户名进行排序


uniq [options]
-i  忽略大小写


last | cut -d ' ' -f1 | sort | uniq


wc  显示行数,字数,字符数
cat /etc/passwd  | wc 


tee [options] file  双向重导向
-a  追加,而不是覆盖(默认是覆盖)


last| tee /last.list | cut -d ' '  -f1    将文件追加到last.list文件中;并且进行分割
ls -l /etc | tee ~/homefile | more    将etc下面的文件覆盖到homefile文件里,同时输出到屏幕上进行查看


tr  --->translate or delete charactors  转换或删除字符
tr [options] set1 [set2]
-d  删除消息中set1中的消息字符


last | tr 'a-z' 'A-Z'  将输出消息中的所有小写字符转换未大写字母
echo $PATH | tr -d ':'  将输出消息中的所有:删除掉







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值