shell 基本命令

cd 改变目录位置
pwd 显示当前的目录
:什么都不做,传回真值0  :>test.txt 创建一个新文件
. 在现行的shell环境中执行shell程序
source  在现行的shell环境中执行shell程序(和上面.功能一样)
alias 显示设定程序别名    设定:alias cp='cp -f'
unalias 取消程序别名
exit 离开shell,并传回1值
logout
umask 显示或设定:文件,目录建立时,文件权限的屏蔽值。
umask 
显示0022
LINUX新建文件权限是0666
LINUX新建目录权限是0777
所以实际真正文件权限0666-0022=0644  user 读写  group 读  other读
列子:
[root@bogon shellstudy]# :>test
[root@bogon shellstudy]# ls -la test
-rw-r--r--  1 root root 0 Jul  7 02:49 test
文件
 读写
    只读
       只读
实际真正目录权限0777-0022=0755  user 查看修改进入 group 查看 进入 other 查看进入
[root@bogon shellstudy]# mkdir test1
[root@bogon shellstudy]# ls -la test1
total 8
drwxr-xr-x  2 root root 4096 Jul  7 02:53 .
drwxr-xr-x  3 root root 4096 Jul  7 02:53 ..
目录
 查看修改进入
    查看进入
       查看进入
histroy显示过去曾执行的SHELL指令
 echo $HISTFILE 历史脚本文件,root执行的指令,保存在这个文件中
 echo $HISTFILESIZE 指定历史脚本文件的行数大小
fc 列出登录主机之后,最近执行过的指令
fc -l
type 判断bash对某一指令如何解译
  [root@bogon shellstudy]# type fg
  fg is a shell builtin 内置命令
  [root@bogon shellstudy]# type if
  if is a shell keyword 保留的关键字
  [root@bogon shellstudy]# type ll
  ll is aliased to `ls -l --color=tty' 是一个别名程序
  [root@bogon shellstudy]# type show_name
  -bash: type: show_name: not found 找不到
  [root@bogon shellstudy]# type tr
  tr is /usr/bin/tr  独立执行文件
set 设定bash shell的属性;若不加任何选项和参数,它会显示所有shell变量和函数的内容
   set -o 显示目前bash shell所有属性的开关状态
   set -o emacs 开启emacs
   set +o emacs 关闭emacs
   set -o monitor 开启monitor
   set +o monitor 关闭monitor
shopt 设定bash shell 的行为模式
   shopt 或shopt -p 显示目前各选项的开关状态
   shopt -s 启用选项
   shopt -u 关闭选项
   shopt -o
   shopt -q
time 显示real,user,cpu 3种耗用时间
read 由标准输入读取一行数据
   read 变量 (如果没有变量,则默认变量为REPLY)
   read -p '请输入你的英文名字'
     echo '你的名字是:' $REPLY
   read -a arr < <(echo 123 45 97 101 88)
     -a 指定arr为一个数组变量。
     echo ${arr[2]}  ###由0开始,这里结果为97
exec 执行指定的程序,取代原来的shell;或使转向操作生效
   exec < datafile  凡由标准输入读取数据的,都该向datafile读取。
eval 读取参数,结合成一个新指令,在进行变量代换后,予以执行。
which
find / -name '*.txt'  查找根目录下.txt结尾的文件
find . -name '*.txt'  查找当前目录下.txt结尾的文件
tee文件 读取标准输入,然后由标准输出显示,并把这些数据存储在指定的文件
tee test.log
  执行本指令,如果test.log存在,会被清空,如果不存在,则会建立一个新文件。
tee -a test.log
  以文件附加的方式,把输入数据接在test.log的文件尾。
diff文件 比较两个文件差异
  diff hello.sh hello2.sh
comm 以列和列的方式,比较两个已排序好的文件。
  comm afile bfile
属于aflie的行,放在第一栏;
属于bflie的行,放在第二栏;
共有的放在第三栏;
xargs标准输入,安排要执行的命令和参数
  find . -name '*.txt' |xargs -n 2 diff
  查找当前目录下.txt结尾的文件,然后2个一组,使用diff比较差异。
执行多个命令的方法:
1  在每个命令之间,用;(分号)隔开.各指令的执行结果,不会影响其他指令的执行
例如:./configure;make;make install
2  在每个命令之间,用&&隔开.  若前一个命令执行成功,才会接着执行下一个。
3  在每个命令之间,用||隔开.  若前一个命令执行失败,才会接着执行下一个;
4  把整个命令弄成一组,然后整组去执行它
   (命令1;命令2;命令3;....)
   {  命令1; 命令2; 命令3; ....  }注意必须有空格
变量的有效范围
自变量会继承父变量,但是父变量无法使用子变量,除非使用export
export bash的内置命令,用途是把某个变量输出,变成环境变量,以使后续的各种操作都可以提取该变量的内容
export或export -p 会列出目前所有的环境变量
[root@bogon shellstudy]# test="hello world"
[root@bogon shellstudy]# export test  增加环境变量
[root@bogon shellstudy]# export -p |grep test   查看环境变量
declare -x test="hello world"
[root@bogon shellstudy]# test= 
[root@bogon shellstudy]# export test  取消环境变量
[root@bogon shellstudy]# export -p |grep test  查看环境变量
declare -x test=""
这里直接输入declare -x test="hello world" 效果也一样。

你可能感兴趣的:(命令,shell,职场,休闲)