Mac OS 命令

  • 切到root用户
    su命令格式:su [-lm] [-c 指令] [username]
    su命令使用说明:
    su - :以login shell的方式切换到root
    su - xxx : 以login shell的方式切换到xxx
    su :以non-login shell的方式切换到root
    su xxx:以non-login shell的凡是切换到xxx
    综上 - 代表是否以login shell的方式切换
    “-l” 跟 “-” 差不多
    -m :表示使用目前的环境变量,不用新使用者的配置文件
    -c:仅进行一次指令
    eg: su - -c “head -n 3 /etc/shadow” 转成root执行一条命令
    以【sudo指令】执行root的指令串
    sudo -i
    sudo su
    sudo -iu xxxUser
  • cp命令
    cp -fr /xxxDirectory/* yyyDirectory (可以是绝对路径,也可以是相对路径)
    eg: cp -rf WEB-INF/classes/release/* WEB-INF/classes 将release目录下的所有内容拷贝到classes目录下
  • chmod命令
    所有人都可以使用此命令
    chmod [-cfvR] [–help] [–version] mode file…
    mode [ugoa][±=][rwxX]
    -R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更)
    -v:显示权限变更的详细资料
    -f:如果该档案权限无法被更改也不要显示错误信息
    -c:如果该档案权限确实已经更改,才显示更改动作
    eg: chmod -fR ug+x,o-x xxxfile,yyyDir
    chmod -R a+r ./*
    另一种方式,chmod abc xxx (eg:chmod 777 xxx)
    a代表档案拥有者的权限;
    b代表档案拥有者所在group的权限;
    c代表档案拥有者所在group以外的用户的权限。
    r 4 w 2 x 1
  • chown命令
    使用者root。一般用户没有权限把自己的档案改成其他用户的,更没有权限更改其他用户档案的owner。
    将指定文件的owner改为指定的用户或者组。用户可以是用户名或者用户ID,组可以是组名或者组ID。
    文件是以空格分开的要改变权限的文件列表,支持通配符。
    系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下之后,让该用户拥有使用该文件的权限。
    chown [option] [new owner][:[new group]] file…
    option:
    -f 忽略错误信息
    -R 处理指定目录及其子目录下的所有文件
    eg:chown -R xxxUser /data/app 将app目录的用户修改成xxxUser
  • locate命令
    locate可以用来查找文件(同find功能),但locate是搜索其数据库,所以速度比find快。
    updatedb命令可以用来生成(更新)数据库。
  • find命令
    find [指定查找路径(如果不指定,则查整个系统)] [查找规则][查找完成执行的action]
    eg: find /etc /tmp /root -name passwd -type f 在/etc /tmp /root 三个目录下,查找名称是passwd的普通文件
    查找规则:
    1.根据文件名查找
    -name // 精确查找
    -iname // 不区分大小写
    通配符: * :统配任意字符 ?:统配任意单个字符 []:统配[]中的任意一个字符
  1. 根据文件所属用户和组来查找
    -user
    -group
  2. 根据文件类型
    -type
    f // 普通文件
    d // 目录文件
    l // 链接文件
    b // 块设备文件
    c // 字符设备文件
    p // 管道文件
    s // socket文件
  3. 未完待续
    查找完执行的action:
    -print // 默认情况下的动作
    -ls // 查找到后用ls显示出来
    -ok [command] 查找后执行命令时,询问用户是否要执行
    -exec [command] 查找后执行命令时, 不询问用户
    eg:find /tmp -name “*.sh” -exec chmod u+x {} ;
    这里的{} 表示查找到的文件

find命令在查找时,如果没有权限,就会打印permission denied,可以用下面的命令去除permission denied打印:
find [path] -name "pattern " 2>/dev/null

  • zip命令
    eg: zip test1.zip xxxFile 把xxxFile压缩(压缩一个文件)
    zip -r test2.zip ./* 把当前路径下的所有文件及文件夹压缩(压缩一个目录)
  • unzip命令
    unzip是 .zip压缩文件的解压缩程序。
    unzip [-cflptuvz][-agCjLMnoqsVX][-P ] xx.zip [-d ]
    eg:unzip .war -d webroot 解压缩.war文件到指定目录webroot
  • curl命令
    curl -o /dev/null -s -w %{http_code} http://127.0.0.1:9071/health 可以用来检测某web网站运行是否正常
    curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS,GOPHER, HTTP, HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S, RTMP,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,TELNET and TFTP). The command is designed to work without user interaction.
    curl 是个客户端和服务端之间传输数据的工具,支持很多协议,无需用户参与。
    -o/-O选项:保存下载的文件到指定的文件中
    其中-o:把文件保存为命令行中指定文件名的文件中
    eg: curl -o hi.html http://www.sina.com/hello.html -O:使用URL中的文件名
    eg:curl -O http://www.sina.com/hello.html
  • 一些目录和文件
    /opt
    /var
    /usr
    /usr/local
    /etc/profile
    ~/.bash_profile
    ~/.bash_login
    ~/.profile
    ~/.bashrc
  • source和.
    source ~/.bashrc 加载.bashrc
  • 重定向
    stdin 0 <或者<<
    stdout 1 >或者>> 1>或者1>> 注意1> 1>> 无空格
    stderr 2 2>或者2>> 2> 2>>
    eg: find /home -name .bashrc 1> list_right 2> list_error
    在/home目录下查找名称是.bashrc的文件,将stdout重定向到list_right中,将stderr重定向到list_error中
    eg:find /home -name .bashrc 1> list 2> list 错
    find /home -name .bashrc 1> list 2>&1 对
    find /home -name .bashrc &> list 对
    将stdout,stderr重定向到一个文件
  • login shell 和 non-login shell
    二者读入的配置文件不同
    login shell 读入 /etc/profile ~/.bash_profile ~/.bashrc
    non-login shell 读入 ~/.bashrc
  • top命令
  • crontab命令
  • type命令