cd和ls命令
1 cd命令
cd
命令用于切换到对应目录下,使用方法为cd + 相应目录
。如果在cd命令后面没有加目录,就会自动切换到用户主目录下。比如:
aitian@aitian-CW65S:~/at/shell/0$ pwd
/home/aitian/at/shell/0
aitian@aitian-CW65S:~/at/shell/0$ cd
aitian@aitian-CW65S:~$ pwd
/home/aitian
看上面的倒数第二行有一个波浪线~
,这个就表示用户主目录
,比如输入:
aitian@aitian-CW65S:~$ cd ~/protobuf352/
aitian@aitian-CW65S:~/protobuf352$ pwd
/home/aitian/protobuf352
aitian@aitian-CW65S:~/protobuf352$
单点符.
表示当前目录;双点符..
表示上一级目录。
2 ls命令
ls
命令查看目录下文件文件夹的名字,ls
输出的列表是按照字母排序的,不过要注意不是按照行排序,而是按照列排序。输入:
aitian@aitian-CW65S:~$ ls
123 examples.desktop perf.data pycharm-community-2018.3.4 tags 公共的 视频 文档 音乐
at GoProject protobuf352 QtProject toLearn 模板 图片 下载 桌面
ls
命令本身额不能区分结果中哪个是文件哪个是文件夹,需要加上-F
,比如:
aitian@aitian-CW65S:~$ ls -F
123* examples.desktop perf.data pycharm-community-2018.3.4/ tags 公共的/ 视频/ 文档/ 音乐/
at/ GoProject/ protobuf352/ QtProject/ toLearn 模板/ 图片/ 下载/ 桌面/
文件夹名的最后后面有一个左斜杠/
,同时可以发现123作为一个可执行文件,加上-F
后会在他的后面加上一个星号*
。
如果想显示隐藏文件,输入:
ls -a
用-R
参数可以递归地列出目录的目录一直到最底层的文件,比如:
aitian@aitian-CW65S:~/at$ ls -FR shell/
shell/:
0/ file tesfile test1.sh* test27.sh* test35.sh* test43.sh* test50.sh* testfile
17/ file1 test10.sh* test20.sh* test28.sh* test36.sh* test44.sh* test51.sh* test.txt
19/ file2 test11.sh* test21.sh* test29.sh* test37.sh* test45.sh* test52.sh* tmp.txt
1.txt file3 test12.sh* test22.sh* test2.sh* test38.sh* test46.sh* test53.sh* ttt.txt
20/ isPhone.sh* test13.sh* test23 test30.sh* test39.sh* test47.sh* test54.sh*
21/ main.c test14.sh* test23.sh* test31.sh* test3.sh* test48.sh* test5.sh*
bg.sh* mul@ test15.sh* test24.sh* test32.sh* test40.sh* test49.sh* test7.sh*
count_exe.sh* nohup.out test16.sh* test25.sh* test33.sh* test41.sh* test4.sh* test8.sh*
errfile normalfile test19.sh* test26.sh* test34.sh* test42.sh* test5 test9.sh*
shell/0:
shell/17:
1.sh* echo_function_value.sh* lib_call.sh* post_query_param_to_func.sh*
2.sh* global_variable.sh* local_variable.sh* return_array.sh*
3.sh* iter_function.sh* post_array_to_func_err_emample.sh*
4.sh* itertion.sh* post_array_to_func_ok_emample.sh*
shell/19:
aitian data destfile sedfile test test2 testfile value website
shell/20:
data data2 data3 data4 data5 data6 data7 data8 gawk_file gawk_file2 split.sh*
shell/21:
a.c a.out* data data2 data3 data4 data5 data6 data7 data8
ls
命令中还可以使用正则表达式:
问号?
代表任何一个字符;
星号*
代表0个或者多个任意字符
中括号列出所有范围,比如[abc]或者[a-i]
还可以使用感叹号
将不需要的内容排除在外,比如:
ls -l abc?def
ll abc*
ll ab[def]
ll a[!b]c