关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
文件搜索
find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
1.1 cd命令
命令格式:cd <路径>
意义:cd是change directory 的缩写;cd命令后面跟一个路径,用于切换当前用户所在的路径,其中路径可以是绝对路径也可以是相对路径。
示例:
cd /system/bin 表示切换到/system/bin路径下。
cd logs 表示切换到logs路径下。
cd / 表示切换到根目录。
cd ../ 表示切换到上一层路径。
1.2 ls命令
命令格式:ls <参数> <路径>
意义:ls是list的缩写;ls命令后面可以跟一个路径或参数,也可以不跟,表示列出路径或当前目录下的所有文件信息。最常用的的参数是“-l",也就是“ls -l”命令。
示例:
ls / 显示根目录下的所有文件及文件夹。
ls -l /data 显示/data路径下的所有文件及文件夹的详细信息。
ls -l 显示当前路径下的所有文件及文件夹的详细信息
ls *l wc显示当前目录下面的文件数量。
1.3 cat命令
命令格式: cat <文件>
意义:cat是concatenate 的缩写。表示读取文件内容及拼接文件。
示例:
cat /sys/devices/system/cpu/online 读取 /sys/devices/system/cpu/路径下online文件内容。
cat test.txt 读取当前路径下test.txt文件内容。
1.4 rm命令
命令格式: rm <文件> 或 rm -r <文件夹>
意义:rm是remove 的缩写。用于删除文件或文件夹,常用参数-r -f,-r表示删除目录,也可以用于删除文件,-f表示强制删除,不需要确认。同样的,删除文件前需保证当前用户对当前路径有修改的权限。
示例:
rm -rf path 删除path。
rm test.txt 删除test.txt。
1.5 mkdir命令
命令格式: mkdir 文件夹
意义:mkdir是make directory 的缩写。用于创建文件夹。创建文件夹前需保证当前用户对当前路径有修改的权限。
示例:
mkdir /data/path 在/data路径下创建path文件夹。
mkdir -p a/b/c 参数 -p用于创建多级文件夹,这句命令表示在当前路径下创建文件夹a, 而a文件夹包含子文件夹b,b文件夹下又包含子文件夹c。
1.6 cp命令
命令格式: cp <文件><目标文件>或者cp -r<文件夹><目标文件夹>
意义:cp是copy 的缩写。用于复制文件或文件夹。
示例:
cp /data/logs /data/local/tmp/logs 复制/data路径下的logs到/data/local/tmp路径下。
cp 1.sh /sdcard/ 复制当前路径下的1.sh到/sdcard下。
1.7 kill命令
命令格式:kill PID码
意义:结束当前进程
示例:
先通过输入命令 ps au查看进程,找到需要终止进程的PID再通过kill PID即可,如我这里想要终止的进程是vim test.py,查到的PID是3163,我们可以输入kill 3163结束这个程序,如果结束不了,可以通过kill -9 PID码强制结束,即kii -9 3163
除了这七个命令,还有许多常见的命令,如pwd命令,这个可以查看当前路径,这个在移动数据集或者整理文件list的时候很有用;tar命令,这个可以文件压缩;unzip命令,这个可以用于文件解压,这样的命令其实还有很多,需要我们在使用的过程中不断熟练,需要我们不停的查阅学习。
1.8 shell脚本文件之"hello world"
有了基本的命令之后,接下来就可以写一些常用的脚本。脚本常用于获取参数,循环遍历。
首先我们看一个“hello world”。
#!/bin/sh
a="hello world!"
num=2
echo "a is : $a num is : ${num}nd"
运行结果:
a is : hello world! num is : 2nd
可以看出,用$来获取变量值,通常运行脚本的时候,可以用$1,$2,$3等获取多个参数。
比如脚本test.sh
x=$1
y=$2
z=$3
echo $1 $2 $3
调用的时候就可以:sh test.sh 1 2 3