shell学习记录---1

来源:互联网 发布:linux运行c文件命令 编辑:程序博客网 时间:2024/05/01 22:40




Linux下默认的shell是bash.

cat /etc/shells  可以查看shell列表.

[root@localhost /]# cat /etc/shells/bin/sh/bin/bash/sbin/nologin/bin/tcsh/bin/csh/bin/ksh/bin/zsh

echo $SHELL  查看当前运行在哪个shell下:

[root@localhost /]# echo $SHELL/bin/bash

改换为ksh:

[root@localhost ~]# /bin/ksh# # lsanaconda-ks.cfg  Desktop  install.log  install.log.syslog  scsrun.log  vimrc# 

退出为:

# exit[root@localhost ~]# lsanaconda-ks.cfg  Desktop  install.log  install.log.syslog  scsrun.log  vimrc[root@localhost ~]# echo $SHELL/bin/bash

再exit就退出了终端.

在终端输入ls加上按下两次Tab键,可以查看以ls开头的命令:

[root@localhost /]# lsls           lsb_release  lshal        lsof         lspcmcia     lss16toppm   lsattr       lsdiff       lsmod        lspci        lspgpot      lsusb  

输入help,就可以查看bash下的帮助命令.

ls -l查看当前目录下的文件:

[root@localhost /]# ls -ltotal 154drwxr-xr-x   2 root root  4096 Nov 25 01:33 bindrwxr-xr-x   4 root root  1024 Nov 25 01:24 bootdrwxr-xr-x  12 root root  4280 Nov 25 15:56 devdrwxr-xr-x  99 root root 12288 Nov 25 16:11 etcdrwxr-xr-x   3 root root  4096 Nov 25  2012 homedrwxr-xr-x  14 root root  4096 Nov 25 01:27 libdrwx------   2 root root 16384 Nov 25 01:19 lost+founddrwxr-xr-x   2 root root  4096 Nov 25 15:56 media

ls -lh 更加详细:

[root@localhost /]# ls -lhtotal 154Kdrwxr-xr-x   2 root root 4.0K Nov 25 01:33 bindrwxr-xr-x   4 root root 1.0K Nov 25 01:24 bootdrwxr-xr-x  12 root root 4.2K Nov 25 15:56 devdrwxr-xr-x  99 root root  12K Nov 25 16:11 etcdrwxr-xr-x   3 root root 4.0K Nov 25  2012 homedrwxr-xr-x  14 root root 4.0K Nov 25 01:27 libdrwx------   2 root root  16K Nov 25 01:19 lost+founddrwxr-xr-x   2 root root 4.0K Nov 25 15:56 media

wrx可读,可写,可执行的权限,

包括所有者,所有者的组,其他用户.

第一位表示文件的类型:

-为普通文件,d表示是一个目录,l表示是一个连接文件,类似Windows下的快捷方式,

b为块设备,c为字符设备文件,一般在dev目录下,

p为命名管道文件,s为soket文件;


chmod可以改变文件的权限,不过得在有更改的权限的情况下,

man chmod 可以查看其用法:

[root@localhost /]# man chmod

或者 info chmod  同样可以.

u      g    o    a

所有者,所有者的组,其他用户,所有的用户

+  -  =  增加 ,减少,设定权限;

rwx 421;

rw        xst,  s位表示当别的用户使用该文件时拥有该所属文件所属的组的权限去执行命令.

t表示运行的时候放在缓存中运行,

使用:

[root@localhost Work]# chmod u=rwx,g=rwx,o+w my.c[root@localhost Work]# ls -ltotal 73555-rwxrwxrwx 1 root root 144073065 Jun 12  2010 EABI-4.3.3_EmbedSky_20100610.tar.bz2-rwxrwxrwx 1 root root      4754 Nov 24 22:10 my-rwxrwxrwx 1 root root       127 Nov 24 21:54 my.c-rwxrwxrwx 1 root root         4 Nov 23 17:46 text.txt-rwxrwxrwx 1 root root   6555334 Mar 18  2008 u-boot-1.1.6.tar.bz2-rwxrwxrwx 1 root root      2406 Nov 18 19:51 vimrc


 ls -l /bin |grep '^...s'  查看bin目录下的S权限,
[root@localhost Work]# ls -l /bin |grep '^...s'-rwsr-xr-x 1 root root   51884 Jun 25  2007 mount-rwsr-xr-x 1 root root   35864 Dec 21  2006 ping-rwsr-xr-x 1 root root   31244 Dec 21  2006 ping6-rwsr-xr-x 1 root root   24060 Nov 28  2006 su-rwsr-xr-x 1 root root   32880 Jun 25  2007 umount


chown  改变其所有者.
[root@localhost /]# ls -l my-rw-r--r-- 1 root root 5 Nov 25 16:57 my[root@localhost /]# chown  root.yikai my[root@localhost /]# ls -l my-rw-r--r-- 1 root yikai 5 Nov 25 16:57 my

chown -R  .root  目录   

加上-R  可以改变目录下所有的文件的所有者.


chgrp 只能改变所有者的组.

[root@localhost /]# chgrp root.root mychgrp: invalid group `root.root'You have mail in /var/spool/mail/root[root@localhost /]# chgrp root my[root@localhost /]# ls -l my-rw-r--r-- 1 root root 5 Nov 25 16:57 my

查看一个目录的权限:

ls -ld 目录;

[root@localhost /]# ls -lda home/drwxr-xr-x 3 root root 4096 Nov 25  2012 home/[root@localhost /]# ls -ld home/drwxr-xr-x 3 root root 4096 Nov 25  2012 home/


umask   默认创建问件的权限.

[root@localhost /]# umask0022


可以更改  umask  0000;



在打开VI的时候 。输入/加你要找的字符,可以找到.




原创粉丝点击