**linux 命令 **
list=ls 查看⽂件或⽬录是否存在 ls ⽂件或⽬录路径信息 ls -d ⽬录信息 查看⽬录本身信息 ls -l ⽂件或⽬录信息 查看数据的属性信息 ls -la ⽬录信息 查看⽬录中隐藏⽂件 ls -lt ⽬录信息 将⽬录中的信息按照时间进⾏排序显示 ls -ltr ⽬录信息 按照时间信息,进⾏反向排序 ls -lh 数据信息 显示的数据信息⼤⼩,以⼈类可读⽅式显示
**su **
(用户切换) su -用户01 完全用户切换,加载该用户的个人配置文件 ( ~/.bash_profile) 作用是针对用户个人,添加一些额外配置,个人安装了某软件,想要方便快捷,就要加入PATH变量就行替换 不同用户角色 执行su 不同 root 切换普通用户不需要密码 普通用户切换他人需要该用户密码
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。 [root@linux ~]# su #切换到root [root@linux ~]# su - #切换到root $ su - root -c "useradd qwe" # 不切换成 root ,但是执行 useradd 命令添加 qwe 用户
echo
echo - 显示一行文本 允许在标准输出上显示STRING(s). -n 不输出行尾的换行符. -e 允许对下面列出的加反斜线转义的字符进行解释. -E 禁止对在STRINGs中的那些序列进行解释. --help 显示帮助并退出(须单独运行) --version 输出版本信息并退出(须单独运行) 在没有 -E 的情况下,可承认并可以内置替换以下序列: \NNN 字符的ASCII代码为NNN(八进制) \\ 反斜线 \a 报警符(BEL) \b 退格符 \c 禁止尾随的换行符 \f 换页符 \n 换行符 \r 回车符 \t 水平制表符 \v 纵向制表符
>”重定向,清空所有内容只更新一行 “>>”追加重定向,逐行添加 例一:清除源文件所有内容,并插入单行。 [root@linux jackonill]# echo "hello word" >jackonill.txt [root@linux jackonill]# cat jackonill.txt hello word 例二:接上一命令,在原有文件基础上逐行添加。 [root@linux jackonill]# echo "hello word11" >>jackonill.txt [root@jack jackonill]# echo "hello word11" >>jackonill.txt [root@linux jackonill]# cat jackonill.txt hello word #此行为上一命令所添加 hello word11 hello word11 #规则恢复 $ echo oldboy;echo oldboy oldboy oldboy $ echo -n oldboy;echo oldboy oldboyoldboy # echo -e "\e[1;31mThis is red text\e[0m" #显示红色 This is red text # echo -e "\e[1;31m" #添加背景色 # echo -e "\e[1;30mThis is a note\e[0m" #取消背景色 This is a note
*tab 键 补全 *
hostname
显示或设置主机名
--help选项获得帮助信息。
hostname无参数,执行输出主机名。 使用-b+名称,更改了主机名。 使用-F+文件名,读取文件内容作为主机名 注:以上修改重启服务器后将丢失修改内容。 hostnamectl修改主机名(永久修改)
mkdir
用法:mkdir [选项]... 目录...
若指定目录不存在则创建目录。
长选项必须使用的参数对于短选项时也是必需使用的。 -m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask -p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理 -v, --verbose 每次创建新目录都显示信息 -Z, --context=CTX 将每个创建的目录的SELinux 安全环境设置为CTX --help 显示此帮助信息并退出 --version 显示版本信息并退出
列:1.[root@linux ~]# mkdir aaa #创建目录 [root@linux ~]# mkdir -m a=rw bbb #创建指定属性的目录 [root@linux ~]# mkdir -p 111/abc #创建目录,父目录存在,建之 2.[zy123@linux ~]$ mkdir -v test1 #创建目录,并显示详细信息 mkdir: 已创建目录 "test1" 3.# mkdir -p /ms/{sales,hr,web} #创建一个名为/ms的目录,其中有sales、hr、web的子目录 4.批量建文件夹
history
history 命令可以用来显示曾执行过的命令,也可以根据显示的来重新执行需要的命令 n 显示n个最近的记录 -a 添加记录 -r 读取记录,但不会添加内容记录 -w 覆盖原有的history 文件 -c 清除记录 -d<编号>[n] 删除指定n条记录 -n<文件> 读取指定文件 -r<文件> 读取文件但不记录 -w<文件> 覆盖原有文件
查看过去执行的命令
uname
查看主机系统信息
-a显示全部信息。 -s显示内核名字 -r显示内核发布信息 -v显示内核版本 -p显示cpu架构类型 -o显示操作系统名 -n显示主机名
id
用法:id [选项]... [用户名] 显示指定用户或当前用户(当未指定用户时)的用户与组信息。
-a 忽略,仅为与其他版本相兼容而设计 -Z, --context 仅显示当前用户的安全环境 -g, --group 仅显示有效的用户组ID -G, --groups 显示所有组的ID -n, --name 显示组名称而非数字,可与-ugG 一起使用 -r, --real 显示真实ID 而非有效ID,与-ugG 一起使用 -u, --user 仅显示有效用户ID --help 显示此帮助信息并退出 --version 显示版本信息并退出 如果不附带任何选项,程序会显示一些可供识别用户身份的有用信息。
whoami
用法:whoami [选项]... 打印与当前生效的用户 ID 关联的用户名。 与 id -un 相同。 --help 显示此帮助信息并退出 --version 输出版本信息并退出
bash
bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。
参数说明
-c 若用-c参数,则bash从字符串中读入命令,如果字符串后还有变量就被设定为从$0开始的位置参数。 -n 检测脚本是否正确,并不执行脚本 -i 若用-i参数,则bash是交互的。 -s 若用-s参数,则bash从标准输入中读入命令(在执行完-c带的命令之后。)直到输入exit。 -x 执行脚本,输出执行过程,调试利器 - 单一的号表明参数执行完毕,并且屏蔽此后所跟参数,后面的所有变量都被看作是文件名。 -norc 如果bash是交互的,则不执行个人初始化文件:-/.bashrc,如果bash作为sh来运行,这个参数缺省是关闭的。 -noprofile 不执行系统范围的启动文件/etc/profile也不执行个人的启动文件-/.bash_profile,-/.bash_login或-/.profile,缺省情况下,bash作为登录的shell时以这些文件作为启动文件。 --refile文件名 如果bash是交互的,则以此文件作为bash的启动文件。替代-/.bashrc。 -version 在bash开始时显示此bash的版本号。 -quiet 不显示版本号和其他信息,这是缺省值。 -login 激活bash,伪装为登录shell。 -nobraceexpansion 不执行大括号扩展。 -nolineediting 在交互状态下不使用GNU的readline库去读取命令。即取消了命令行编辑功能。 -posix 改变bash的行为,使其符合Posix 1003.2规定的标准。
# bash -n database.sh #检测脚本是否正确,并不执行 # bash -x database.sh #执行脚本,输出执行过程
touch
用法:touch [选项]... 文件... 将每个文件的访问时间和修改时间改为当前时间。 不存在的文件将会被创建为空文件,除非使用-c 或-h 选项。 如果文件名为"-"则特殊处理,更改与标准输出相关的文件的访问时间。 长选项必须使用的参数对于短选项时也是必需使用的。
[root@linux ~]# touch test.php #将test.php的档案时间改为,当前时间,文件不存在建之 [root@linux ~]# touch -c -t 05061803 test.php #将档案时间改为,5月6日18点3分 [root@linux ~]# touch -r abc.php test.php #将test.php档案改成跟abc.php一样 # touch -d "2 days ago" test.php #将test.php日期修改为2天以前
stat
用法:stat [选项]... 文件...显示文件或文件系统的状态。
[root@linux0224 ~]# stat --help Usage: stat [OPTION]... FILE... Display file or file system status. Mandatory arguments to long options are mandatory for short options too. -L, --dereference follow links -f, --file-system display file system status instead of file status -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline; if you want a newline, include \n in FORMAT -t, --terse print the information in terse form --help display this help and exit --version output version information and exit The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex, for character/block device special files %T minor device type in hex, for character/block device special files %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form NOTE: your shell may have its own version of stat, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. GNU coreutils online help: <http://www.gnu.org/software/coreutils/> For complete documentation, run: info coreutils 'stat invocation'
-L, --dereference 跟随链接 -f, --file-system 显示文件系统状态而非文件状态 -c --format=格式 使用指定输出格式代替默认值,每用一次指定格式换一新行 --printf=格式 类似 --format,但是会解释反斜杠转义符,不使用换行作 输出结尾。如果您仍希望使用换行,可以在格式中 加入"\n" -t, --terse 使用简洁格式输出 --help 显示此帮助信息并退出 --version 显示版本信息并退出 有效的文件格式序列(不使用 --file-system): %a 八进制权限 %A 用可读性较好的方式输出权限 %b 计算已分配块数(参见%B) %B 以字节为单位输出%b 所报告的每个块的大小 %C SELinux 安全环境字符串 %d 十进制设备编号 %D 十六进制设备编号 %f 十六进制原始模式 %F 文件类型 %g 文件的属组ID %G 文件的属组组名 %h 硬链接数量 %i Inode 编号 %m 挂载点 %n 文件名 %N 如果对象是一个符号链接,显示引用到的其它文件名 %o I/O 块大小 %s 总计大小,以字节为单位 %t 十六进制主设备类型 %T 十六进制子设备类型 %u 文件的属主ID %U 文件的属主用户名 %w 文件创建时间,若未知则显示"-" %W 从UNIX 元年起以秒计的文件创建时间,若未知则显示"-" %x 上次访问时间 %X 从UNIX 元年起以秒计的上次访问时间 %y 上次修改时间 %Y 从UNIX 元年起以秒计的上次修改时间 %z 上次更改时间 %Z 从UNIX 元年起以秒计的上次更改时间 有效的文件系统格式序列: %a 非超级用户可用的剩余块数 %b 文件系统的总数据块数 %c 文件系统中文件节点总数 %d 文件系统中空闲文件节点数 %f 文件系统中空闲块数 %i 十六进制文件系统ID %I 允许的文件名最大长度 %n 文件名 %s 块大小(用于快速传输) %S 基本块大小(用于块计数) %t 十六进制类型描述 %T 可读性较好的类型描述 注意:您的shell 内含自己的stat 程序版本,它会覆盖这里所提及的相应 版本。请查阅您的shell 文档获知它所支持的选项。
[root@www ~]#stat abc.ph 文件:"abc.ph" 大小:0 块:0 IO 块:4096 普通空文件 设备:801h/2049d Inode:1200314 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 最近访问:2013-05-14 13:24:30.830729223 +0800 最近更改:2013-05-14 13:24:30.830729223 +0800 最近改动:2013-05-14 13:24:30.830729223 +0800 创建时间:-
[zy1234567@linux0224 ~]$ stat -c %a pass.sh #显示pass.sh文件的数字权限 644
host
host 命令:用于查询DNS的工具,它通过常转换指定主机名称的主机名称为IP地址。当不指定参数时,它显示host命令的帮助信息
-a 等同于“-v -t” -C 在需要认证的域名服务器上查找SOA记录 -d 等同于“-v” -l 列出一个域内所有的主机 -i 反向查找 -N 改变点数 -r 不使用递归处理 -R 指定UDP包数 -T 支持TCP/IP模式 -v 运行时显示详细的处理信息 -w 永远等待回复 -W 指定等待回复的时间 -4 用于IPv4的查询 -6 用于IPv6的查询 -c<类> 查询类 -t<类型> 指定类型,包括a、all、mx、ns