Linux非图形界面就像一迷宫,不会有像windows一样的界面告诉你目前所处位置,你必须清楚当前位置才能继续往下操作,所以pwd是最
常用命令哦 :)
比如我现在用xtwo这个用户登录了系统, 我想查看下我当前所在位置
eg:
➜ ~ pwd
结果:/home/xtwo
Note:当root创建用户时候,linxu默认为每个新用户创建了其
工作空间,该用户目录就是用户名,放在/home的下面,如root 用 命令adduser lery,那么你用ls查看下就可以看到/home下面多了一个lery的文件夹,所以当非root用户登录系统时候就会自然的切换到其工作目录下,也就是/home/lery/ 下面. 当root用户登录的话就是处于根目录下面 "/"
2. 更改用户默认的主目录:usermod -option 新目录 用户名ID
Note: usermod -d 新目录 -u uid
-u后面一定要接uid啊,不是username
3. 进入(打开)目录 , 相当于windows系统中的打开文件夹:cd 目录路径
常见用法:
a) cd /usr/include 改变任意一目录 为当前目录。
b) cd
test 当前目录下一目录. (test是一个已经存在的目录)
c) cd 转至登陆时的工作目录 ,即用户目录 .
d) cd .. 回到上一层目录。
e) cd ../.. (返回上两级目录,相当于cd ..两次)
f) cd / 跳到根目录
eg:
➜ testfolder pwd *当前路径
/home/xtwo/new/testfolder
➜ testfolder cd *退出到用户主目录
➜ ~ pwd
/home/xtwo
➜ ~ cd /home/xtwo/new/testfolder *进入任意指定目录
➜ testfolder cd .. *退出到上一级目录
➜ new pwd
/home/xtwo/new
➜ new cd /home/xtwo/new/testfolder *退出到上二级目录
➜ testfolder cd ../..
➜ ~ pwd
/home/xtwo
➜ ~ cd /home/xtwo/new/testfolder
➜ testfolder cd / *退出根目录
➜ / pwd
/
➜ /
5.查看目录下的文件信息 ,显示文件或目录 : ls -option
参数说明:
-a 列出所有的文件。包括 隐藏文件。
-l 用长格式显示匹配项(文件或目录),权限,所有者,大小和最后修改日期。
-t 以最近修改时间/日期顺序列出(最新的在首位)
-s 以文件块为单位显示文件大小
-r 逆序列出
-F 如果是目录文件名后加(/) 如果是可执行文件,加星号(*)表示.
-m 按页宽列文件,以逗号分开。
ls -lrt 按照时间顺序(从旧到新)查看当前目录下的文件信息
eg:
➜ / ls -al
total 108
drwxr-xr-x 24 root root 4096 Apr 27 2012 .
drwxr-xr-x 24 root root 4096 Apr 27 2012 ..
drwxr-xr-x 2 root root 4096 Jun 4 2012 bin
drwxr-xr-x 3 root root 4096 May 23 2012 boot
drwxr-xr-x 2 root root 4096 Apr 27 2012 cdrom
drwxr-xr-x 15 root root 4240 Aug 11 15:17 dev
drwxr-xr-x 133 root root 12288 Aug 11 15:17 etc
drwxr-xr-x 3 root root 4096 Jun 13 2012 home
lrwxrwxrwx 1 root root 33 Apr 27 2012 initrd.img -> /boot/initrd.img-3.2.0-24-generic
lrwxrwxrwx 1 root root 32 Apr 27 2012 initrd.img.old -> boot/initrd.img-3.2.0-23-generic
6. 添加一个文件目录:mkdir 目录名字
参数说明:
-m :指定目录的权限
-p : 在一个命令中创建多层目录
常见用法
a)# mkdir test 在当前目录建立一个新目录
test.
b)# mkdir -m 755 /home/demo/sub1/Test 建立一个具有rwxr-xr-x 权限的test 目录(假设/home/demo/subl 已经存在).
c)# mkdir -p /home/demo/sub2/Test 建立一个test目录 (若 demo ,sub2 目录不存在,则自动建立)
eg:
➜ ~ mkdir -m 542 sec_folder
➜ ~ pwd
/home/xtwo
➜ ~ ls -tl
total 92
dr-xr---w- 2 xtwo xtwo 4096 Aug 12 10:12 sec_folder
7. 删除一个空文件:rmdir
eg:
➜ ~ mkdir emptyfolder
➜ ~ rmdir emptyfolder
8.删除一个非空文件不能用rmdir,要用rm -option 目录名字
rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-i:交互模式,在删除前询问用户是否操作
-f 就是直接强行删除,不作任何提示的意思
eg:
➜ ~ mkdir /home/xtwo/good1 * 先new一个新目录
➜ ~ mkdir /home/xtwo/good1/good2 *在新目录里面再new一个sub目录
➜ ~ rm -r /home/xtwo/good1 * 递归删除所有good1目录下面的东西
➜ ~ ls /home/xtwo/good1 * 尝试再进入good1,系统告诉你该目录木有了
ls: cannot access /home/xtwo/good1: No such file or directory
9. 拷贝文件/目录: cp -option 源文件 目标文件
参数说明:
-a:是指archive的意思,也说是指复制所有的目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性一起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
eg:
➜ ~ mkdir cpdir * new一个文件
➜ ~ mkdir /home/xtwo/cpdir/new * new 一个sub 文件
➜ ~ cp -a cpdir new_folder * 拷贝cpdir文件所有内容到
➜ ~ ls /home/xtwo/new_folder
cpdir Templates xtwo
10.剪切一个目录/文件: mv -option 源文件 目标文件
参数说明:
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
eg1:
➜ ~ ls /home/xtwo/new_folder
cpdir Templates xtwo
➜ ~ mv -f /home/xtwo/new_folder/cpdir Templates *剪切目录
➜ ~ ls /home/xtwo/new_folder
Templates xtwo
eg2:
➜ ~ ls -t
new_folder result.txt Pictures resetproxy.sh
➜ ~ mv result.txt new_folder *剪切文件
➜ ~ ls -t
new_folder Documents Pictures resetproxy.sh
11. 查找文件:find 路径 -option 文件名
参数说明:
‘-name’按文件名来查找
‘-mtime’按文件最后一次修改时间来查找
‘-user’:按文件的拥有者查找
‘-size’:按文件的大小查找
‘-perm’按照文件的权限查找
‘-type’按类型查找
‘-atime’按最后一次访问时间查找
eg:
➜ ~ find /home/xtwo -name new
/home/xtwo/new
/home/xtwo/cpdir/new
/home/xtwo/Templates/cpdir/new
12. 查找文件内容是否包含目标字符:grep -option "目标字符串" 文件名
参数说明:
-i 当搜索时忽略字符串的大小写
-v 寻找所有不匹配字符串的行(反向查找)
-n 把结果的行号也显示出来
表达以任意字母开头的可用 ^? 表示(?可用任意字母代替);
经常与管道连用。
eg:
➜ ~ grep -in "xtwo" /etc/passwd *在系统用户信息目录下查找xtwo账号信息
37:xtwo:x:1001:1001:xTWO Development,,,:/home/xtwo:/bin/zsh
➜ ~ grep -v "two" /etc/passwd *在系统用户信息目录下查找其他非xtwo账号信息
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
13. 把一结果集写入文件中(非屏幕输出显示): 结果集 > 文件名字
参数说明:
>! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
>> 把标准输出重定向到一个文件中(往后追加)
eg:
➜ ~ grep -i "two" /etc/passwd > xtwoAccount.txt * 把xtwo用户信息重定向
➜ ~ cat xtwoAccount.txt
xtwo:x:1001:1001:xTWO Development,,,:/home/xtwo:/bin/zsh
➜ ~ grep -i "two" /etc/passwd >> xtwoAccount.txt *在xtwoAccount.txt 尾部写入新内容
➜ ~ cat xtwoAccount.txt
xtwo:x:1001:1001:xTWO Development,,,:/home/xtwo:/bin/zsh
xtwo:x:1001:1001:xTWO Development,,,:/home/xtwo:/bin/zsh
14.分页显示和管道命令: 结果集 | more or less
当你查看一个文件内容特别多时候,为了方便看,可以用分页显示,要不然你就要死命的上下翻滚动条,要崩溃的感觉有木有?
参数说明:
more命令:一次显示一个文本文件的内容一屏幕
more (一个或多个)文件名
空格键 一次滚动手册一页
回车键 一次滚动手册一行
b 移到上一屏
f 移到下一屏
h 显示more功能的帮助页面
q 退出返回外壳提示
/string 查找含有字符串的信息
n 寻找一下个出现的字符串
eg:
➜ ~ grep -v "xtwo" /etc/passwd |more
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
.....
colord:x:103:108:colord colour management daemon,,,:/var/lib/colord:/bin/false
lightdm:x:104:111:Light Display Manager:/var/lib/lightdm:/bin/false
--More--
关机shutdown,立刻重启shutdow -r ==reboot
用户切换:logout 或者su
智能补全快捷键:tab,就如编程的智能补全提示一样,吼吼。。。