Linux 命令集锦一

一、用户切换:
su root    :输入密码后切换到root用户,同理:su  fs 切换到fs用户


=======================================================
二、关机重启(只有root用户才能使用)
常用的有:
shutdowm       -h        10      :十分钟后关机
    |           |         |
  命令       表示关机   十分钟后


shutdowm       -h       00:00    :午夜凌晨关机
shutdowm       -h       now      :立即执行关机
ctrl+c :表示取消上次命令
shutdowm -h 10 系统将在10分钟后关机    :十分钟后关机并向每个中断发送“系统将在10分钟后关机”


=============================================================
三、文件属性(输入ls -a -l)
     类型和权限     拥有者        大小             文件名
         |            |            |                 |
         2            4            6                 8 
4032 -rwxr-xr--. 1 nboocer nboocer 23 7月24 22:15 hello.sh
  1              3            5            7
  |              |            |            |
Inode-number 硬链接数目     用户组        时间戳


2,4,5:决定了一个文件的完整的访问权属性(File Access Permission)
2:-rwxr-xr-- 文件的类型和权限,后9位分别规定了文件拥有者、文件所从属的用户组里的用户和其他用户对于这个文件的访问权限。r:读权限,表示可以查看这个文件的内容;w:写权限,表示可以修改/删除这个文件内容;x:执行权限;表示可以运行这个文件;-:表示没有相应权限
4:nboocer 文件的拥有者(Owner)
5:nboocer 文件从属的用户组(Group)
对于以上 hello.sh 文件,对于它的拥有者 nboocer 是可读可写可执行(rwx),对于从属nboocer 用户组里的用户是可读不可写可执行(r-x),对于其他用户则仅可读(r--)
为了方便记忆,可以将其转化为3个8进制数字记忆,将有英文字符替换为1,“-”字符替换为0,以上访问权限可转换为754
chmod:修改文件的访问权限,例如:chmod 700 hello.sh 则文件访问权限变为rwx------
chown:修改文件拥有者和从属用户组属性,例如:chown nbcc:stu hello.sh 则文件拥有者和从属用户组被改为 nbcc stu;如果单独修改拥有者可直接使用 chown nbcc hello.sh;如果单独修改从属用户组可直接使用chown :stu hello.sh(必须要有冒号)
访问权限前面的字符表示文件的类型:d 表示目录文件,- 表示普通文件,c 表示字符设备文件,b 表示块设备文件,l 表示符号链接文件


========================================================================
四、拷贝(cp)、移动(mv)、删除(rm)和创建文件(touch)
1、cp [要拷贝的文件|文件列表][目标文件名|目标目录]
拷贝多个文件时每个文件名之间用空格隔开
拷贝路径时要在 cp 后加 -r
如果拷贝目标目录下有同名的会提示询问是否覆盖,输入 y 后才会覆盖;如果在拷贝时改为 \cp -f 则不会询问,直接覆盖
拷贝时利用 cp -p 则拷贝过去的文件属性(包括权限)不会被修改,否则有可能被修改了,使用 -p 时登录用户必须对这个文件有写权限才行
2、mv [要移动的文件|文件列表|目录][目标文件名|目标目录]
用法基本和 cp 类似:
如果在移动时改为 mv -f 则出现同名时不会询问,直接覆盖(注意没有 \)
mv 可以实现重命名功能
3、rm [要删除的文件|文件列表|目录]
rm -R 表示删除目录
rm -f / rm -fR 表示直接删除不用询问
4、touch [要创建的文件]
如果创建的文件已经存在,则会修改文件的时间戳


=========================================================================
五、创建文件链接——参见CSDN博客


=========================================================================
六、文件打包压缩
1、tar(tape archive 缩写):把多个文件前后连在一起形成一个大文件但并不对文件进行压缩
             指定打包文件名
                   |
创建打包文件:tar -cf [打包文件名][要打包的文件|列表]
                  |
             创建打包文件


查看打包文件:tar -tf [打包文件名]
删除打包文件里某个特定文件:tar -f [打包文件名] --delete [要删除的文件]
注意:delete 是一个长选项,前面要用两个连字符,f 是短选项,所以只需要一个连字符
合并打包文件:tar -f [目标文件名] -A [被合并文件名]
打包文件再添加文件:tar -f [打包文件] -r [添加文件]
解包已打包文件:tar -xf [打包文件] / tar -xf [打包文件] -C [指定要解压的目录]


2、gzip 压缩
压缩文件:gzip [文件名]       → 压缩文件替换了源文件
解压文件:gzip -d [压缩文件名]   → 源文件替换了压缩文件
添加压缩比:gzip -(1-9) [文件名]    
1:最低压缩比,压缩文件最大,压缩最快;9:最高压缩比,压缩文件最小,压缩最慢;默认是6
gzip 只提供压缩,不提供打包,因此只能一次压缩一个文件,而不能同时压缩多个文件或整个目录


3、tar + gzip
打包压缩:tar -czf [.tar.gz文件名][要打包的文件|列表] 
解压解包:tar -xzf [.tar.gz文件名]


======================================================================================
七:查找文件
1、locate [文件名的关键字]     → 查找快,但功能稍弱
Linux 将所有的文件名都记录在一个名为 /var/lib/mlocate 的数据库中,locate 只是从数据库中查找而不是真的通过遍历硬盘来查找,因此 lacate 可能查找到已经删除了的数据,或者刚刚建立的文件可能查找不到。mlocate 数据库默认每天更新一次,也可以使用 updatedb (必须 root 用户才有权限)手动更新,但是需要花费一定时间


2、find [查找范围][查找条件][动作]    → 查找慢,但功能强大
文件名查找:
find / -name passwd :表示在整个系统中查找文件名为 passwd 的文件,此时文件名必须是精确的,不能是关键字
文件类型查找:
find /bin -type l :表示在 bin 目录下查找所有符号链接文件,中间要加所要查找的目录
d 表示目录文件;f 表示普通文件;c 表示字符设备文件;d 表示块设备文件;l 表示符号链接文件
文件时间属性查找:
find /tmp -mtime -3 -ls :表示在 tmp 目录下查找3天之内(不包括3天)曾经发生改变的文件
find /tmp -mtime +3 -ls :表示在 tmp 目录下查找3天之前(不包括3天)曾经发生改变的文件
find /tmp -mtime 3 -ls  :表示在 tmp 目录下查找3天前那天曾经发生改变的文件
-mtime -amin :表示按文件更改时间(time 是按天,min 是按分钟)
-ctime -cmin :表示按文件创建时间
-atime -amin :表示按文件访问时间
文件大小查找:
find /tmp -size -3k -ls :表示在 tmp 目录下查找比3k字节小的文件
find /tmp -size +3k -ls :表示在 tmp 目录下查找比3k字节大的文件
find /tmp -size 3k -ls  :表示在 tmp 目录下查找正好是3k大小的文件
b 表示512字节的块,c 表示字节,k 表示K字节,M 表示M字节,G 表示G字节
文件拥有者和从属用户组属性查找:
find /tmp -user root -ls :表示在 tmp 目录下查找拥有者是 root 用户的文件
find /tmp -uid 500 -ls   :表示在 tmp 目录下查找拥有者用户的 uid 为500的文件
find /tmp -group stu -ls :表示在 tmp 目录下查找从属于 stu 用户组的文件
find /tmp -gid 0 -ls     :表示在 tmp 目录下查找从属于 gid 为0的用户组的文件
文件的权限查找:
find /tmp -perm 754 -ls :表示在 tmp 目录下查找754权限的文件


3、联合查找:
find /tmp \( -size +1k -a -size -10M -a -mmin -30 -a -type f \) -ls
表示在 tmp 目录下查找大于1K 小于10M 在30分钟内文件内容被修改过的普通文件
注意:使用多个查找条件时,条件要用圆括号括起来,左右圆括号要有 \ 来进行转义
-a 表示 与 ;-o 表示 或 ;!表示 非
-exec + shell命令 选项:
find /tmp \( -size +1k -a -size -10M -a -mmin -30 -a -type f \) -exec rm -rf {} \;
表示在 tmp 目录下查找大于1K 小于10M 在30分钟内文件内容被修改过的普通文件并且把他们都删除
-exec rm -rf {} \; :其中 rm -rf 是命令,{} 表示 find 查找到的文件,; 表示动作结束,由于 ; 在 bash 环境中有特殊意义,因此用 \ 转义
find ~ \( -mmin -10 -a -type d \) -exec tar -cf {} .tar {} \;
表示在当前用户家目录下查找在10分钟内被创建或被修改过的目录文件并且将他们打包成与目录同名后缀为 .tar 的打包文件 
-exec 同样可以用 -OK 替换,-OK 在执行每个命令前都会给出提示让用户来确定是否执行


==================================================================================================
八、通配符
*                代表任意长度字符串
?               代表任意单个字符
[c1-c2]          代表匹配c1-c2字符序列中的任意单一字符
[c1,c2,...,cn]   代表匹配中括号之间字符列表中的任意单一字符
{string1,string2,...stringN}   代表匹配 string1,string2 直至 stingN 中的某个字符串
!               代表对其中内容取反


===================================================================
九、使用 man 手册方法
man + 数字 + 查看对象
数字说明如下:
1、Standard commands (标准命令)(BSD General Commands Manual) 
2、System calls (系统调用)(Linux Programmer's Manual)
3、Library functions (库函数)
4、Special devices (设备说明)
5、File formats (文件格式)
6、Games and toys (游戏和娱乐)
7、Miscellaneous (杂项)
8、Administrative Commands (管理员命令)
9 其他(Linux特定的), 用来存放内核例行程序的文档。


man + 查看对象:默认是从 man 1 开始查找


===================================================================
十、消息队列
以下数据仅作参考,不同系统应该不同,但查询方法都是一样的
1、每个消息队列最大长度 MSGMAX :cat /proc/sys/kernel/msgmax  8192
2、每个消息队列总的字节数 MSGMNB :cat /proc/sys/kernel/msgmnb 16384
3、系统上消息队列的总数上限 MSGMNI :cat /proc/sys/kernel/msgmni 32000


===================================================================
十一、文件/目录权限、默认权限和 umask
文件权限:
r:读取文件内容的权限
w:新增、修改和删除文件内容的权限
x:执行文件的权限
例如:一个文件a.sh,它的权限是rw-,使用 ./a.sh 来运行会提示你没有权限,只能用 sh a.sh 的方式运行。加上 x 权限之后,就可以以 ./a.sh 来执行这个文件脚本了。
目录权限:
r:浏览目录的权限
w:新建、删除、修改和移动目录内文件的权限
x:该用户具有进入目录的权限


注:
1、目录的只读访问不允许使用cd进入目录,必须要有执行的权限才能进入。
2、只有执行权限只能进入目录,不能看到目录下的内容,要想看到目录下的文件名和目录名,需要可读权限。
3、一个文件能不能被删除,主要看该文件所在的目录对用户是否具有写权限,如果目录对用户没有写权限,则该目录下的所有文件都不能被删除,文件所有者除外
4、目录的 w 位不设置,即使你拥有目录中某文件的 w 权限也不能写该文件


系统 root 用户默认 umsdk 是 0022,普通用户默认是 0002
可以通过 umask 027 来临时改变当前终端里 umask 的值
如果要永久修改 umask 值可以通过一下两种方法:
1、sudo vi /etc/profile 然后在最后加一句:umask 0033
利用该方法修改的 umask 值必须在系统重启后才能生效
2、sudo vi /etc/bash.bashrc 然后在最后加一句:umask 0033
利用该方法修改的 umask 值立刻就能生效
原因:profile 是系统登录是被执行,然后就不执行了
      bash.bashrc 是每次加载 Bash Shell 时都会被执行


mkdir 创建目录123时如果没加权限,则创建的目录权限(创建目录默认权限)为 755
mkdir 123
mkdir 创建目录时如果加权限777,则创建的目录权限(创建目录默认权限)为 777
mkdir -m 777 123
touch 创建文件只能是默认权限,修改权限使用chmod,新建文件默认权限:666&(!033)


结论:
1、创建目录的权限设定则为设定值
   创建目录权限未设定则为::777 - umask
2、新创建文件没有执行权限
   新创建文件权限只能是默认的,且默认权限(缺省权限)为:666 & (!umask)
3、如果创建的目录和文件是 Windows 共享文件夹内的,则默认权限均为 777 ,不受 umask 影响















































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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值