linux相关命令
UNIX/linux:一切皆文件
文件类型:
普通文件
目录文件
链接文件:软链接和硬链接
字符设备文件
块设备文件
管道文件
网路文件
(1) mkdir 创建目录
mkdir aa 创建目录aa
mkdir aa bb 创建目录aa和bb
Mkdir ~/suzhouxy
创建多级目录:
mkdir dir1/dir11 错误dir1父目录不存在
Mkdir -p dir1/dir11 正确
(2) cd 用来改变所在目录
cd / 返回到根目录
cd .. 返回上一级目录
cd /user 转到根目录下的usr目录中
cd test 转到当前目录的test子目录中
Cd ../../../../../
无论你当前在哪个目录,直接cd回到家目录
(3) ls 用来查看目录的内容
ls -a 列举目录中的全部文件,包括隐藏文件
ls -l 列举目录中的细节,包括权限,所有者,组群,大小,创建日期,文件是否链接
ls -f 列举的文件 显示文件类型
ls -r 逆向,从后向前的列举目录中内容
ls -R 递归,该选项递归的列举当前目录下所有子目录中的内容
ls -s 大小,按文件大小排序
ls -h 以人类可读的方式显示文件的大小,如用K,M,G做单位
Ls dir :显示目录dir里面的内容
(4) rmdir 用来删除目录
(5) touch 用来创建新文件
touch newfile 创建一个名为newfile的空白新文件
(6) cp 用来拷贝文件,复制文件
要把home/shenjianhua/11 中的11.txt复制到home/shenjianhua/22
即输入命令: cp 11.cpp /home/shenjianhua/22 即可
(7) mv 用来移动文件
要把home/shenjianhua/11 中的11.txt移动到home/shenjianhua/22
即输入命令: mv 11.cpp /home/shenjianhua/22 即可
擦的
(8) grep 在一堆文件中查找一个特定的字符串
grep money test.txt 即在test.txt中查找money这个字符串,grep查找是区分大小写的
(9) cat 可以用来合并文件,也可以用来在屏幕上显示整个文件的内容
cat snow.txt 该命令显示文件snow.txt 的内容, ctrl+D退出cat
(10) pwd 该命令的英文解释为print working directory(打印工作目录),输入pwd命令,linux
会输出当前目录路径
(11) rm 用来删除文件
rm -i 互动,提示确认删除
rm -f 强制,代替互动模式,不提示确认删除
rm -v 详细,显示文件的删除进度
rm -r 删除某个目录以及其中所有的文件和子目录
(12) rm t.txt 删除文件t.txt
(sudo apt-get install)
(13) useradd 创建一个用户名
useradd xiaoming 即创建一个用户xiaoming
adduser 创建一个用户名
useradd xiaoming 创建一个用户xiaoming
(14) passwd 修改用户xiaoming的密码
passwd xiaoming即修改xiaoming的密码
(15) userdel 删除用户
useradel xiaoming 即删除用户xiaoming
userdel -r 删除用户以及用户主目录
userdel -r xiaoming 即删除用户xiaoming以及xiaoming的主目录
(16) du 用于显示文件目录或大小
du -a 显示全部目录及其次目录下的每个文件所占的磁盘空间
du -b 显示目录和文件的大小,以B为单位
du -c 最后再加上一个总计
du -h 以KB,MB,GB为单位
du -s 只列出各文件大小的总和
du -x 只计算属于同一文件系统的文件
(17) bzip2 用来压缩文件,在shell提示下输入命令
bzip2 filename 文件即会被压缩,,,,,,
(18) gzip 用来压缩文件
要压缩文件,输入命令:gzip filename 文件即会被压缩,并保存为filename.gz
要解压文件,输入命令:gunzip filename.gz,filename.gz会被删除而以filename代替
gzip -r filename.gz file1,file2,file3/user/work/school目录中的内容压缩起来放入filename.gz
(19) shutdown 要用这个命令必须保证是根用户,否则使用su命令改变为根用户
命令格式:shutdown -(选项),
shutdown -k 不是真正的关机,只是发出警告命令
shutdown -r 关机后重启
shutdown -t 在规定的时间内关机
假如要在2min内关机,输入命令:shutdown -t2
(20) date 用来显示,设定和修改现在的时间和日期
date -u 使用格林尼治时间
date -r 最后一次修改文件的时间
date -s 设置时间
(date +%x,%r)
(21) cal 显示月历以及年历
直接输入cal命令系统会显示目前月份的月历
cal 公元年份 即输出年历
cal 08 显示公元8年的年历
cal 2015 输出2015年的年历
cal 月份 公元年份 即输出某一年的某一月份的月历
(22) chmond 用来改变许可权限,读取,写入,执行是许可权限中的三个主要设置。因为用户在他们的帐号被创建是就被编入一个组群,所以还可以指定那些群可以读取,写入或执行某一文件:
r---文件可以被读取
w---文件可以被写入
x---文件可以被执行
.chmod 777 cc.txt 改变权限 4(读) 2(写) 1(执行)
Chmod a+x cc.txt a 是指所有的用户组,包括root用户组,文件拥有者的用户组,还有其他用户组。
+x 是指添加执行权限
+r 是添加阅读权限
+w 是添加写入权限
s权限相关:
- r w s - r - - - r - -
若文件的所有者拥有s权限,其它用户可以临时拥有特权,其它用户会拥有和所有者一样的权限
还有很多其他的权限
(23) groupadd 添加组
groupadd policeman 建立一个警察组
(-rw-r--r-- 1 along policeman 11 Dec 9 09:32 mytest1.java
1 若是文件即为文件的数目1,若是文件夹即为文件夹里文件的数目为1)(rwx 421)
(24) vi /etc/group 查看linux中所有组的信息并可以修改信息
cat /etc/group 查看linux中所有组的信息但不可以修改
(25) vi /etc/passwd 查看所有用户的信息
cat /etc/passwd 查看所有用户的信息
Cat /etc/shadow
(26) su 命令用来修改用户。这个命令非常重要,它可以让一个普通的使用者拥有超级用户或其他使用者的权限。不过,这个命令必须具有超级用户或其他使用者的口令才能成为超级用户或其他使用者。如果要离开,可以输入exit。
用法:
su 用户名(如果没有输入用户名则预设为root)
举例:
假设当前用户为user01,想要转变为user02,则输入命令:su user02 系统返回:password:此时输入user02的指令,就会变为user02。
(27) man 用来查询和解释一个命令的使用方法和这个命令的注意事项。这个查询在每个linux上都有,通常,使用者只要输入命令man和这个命令的名称shell就会列出一份完整的说明。
标准用法:
man 命令的名称
如要查询ls命令的说明书页,输入命令:man ls
要翻阅说明书页,可以使用Pageup和Pagedown,或使用空格键向后翻一页,使用b向前翻。要退出说明书页,输入命令q。要在说明书页中搜索关键字,输入命令/ 和要搜索的关键字或短语,然后按Enter键即可。所有出现在说明书页中的关键字都会被突出显示,允许快速的阅读上下文中的关键字。
f 向下滚动 b 向下滚动
另一个查找命令方法的命令:
info ls
(28) locate 主要功能是定位文件和目录。有时我们知道某一文件或目录存在,却不知道它在哪儿,就可以用locate命令,将会看到每一个包括搜索条件的文件或目录。例如,想要搜索带有test这个词的文件,即输入命令:locate test locate命令将会使用数据库来定位所有带有test这个词的文件或目录。
(29) Whatis 用来查询某个命令的含义
要查询mv这个命令的含义,即输入命令:whatis mv
(30) head 用来查看文件的开头部分
此命令的格式是:head 文件名,默认设置,它只查看文件的前10行。但可以通过指定一个数字选项来改变要显示的行数,命令如下:head -20 这个命令将会查看文件的前20行
(31) tail 该命令和head相反,使用tail命令可以查看文件结尾的10行
tail -f 该命令会自动的打开文件中的最新信息显示到屏幕上。
(32) echo 用来在显示器上输出一段文字,这个命令常用来输出一些提示信息
echo 文字或字串等 (字串可以加“”,也可以不加“”,输出的字串形式略有区别)
例如:
echo ”hello word“
输出结果为:hello word
echo hello word
输出结果为: hello word
他们的区别在于后一个输出,每两个之间只隔一个空格,这是因为echo把这些输出看做字 串的缘故。
Echo ‘ $ ’ 说明:‘ ’ 可以屏蔽 所有 特殊字符的特殊含义
(33) clear 该命令的主要功能是清除显示器,这个命令很简单,只要输入clear即可。
(34) passwd 该命令用来修改用户的密码
在shell下输入 passwd 然后根据提示输入旧密码和密码即可。
(35) locale -a 显示系统支持所有语言
(36) Ifconfig 显示ip地址信息
(37) whatis 显示命令简介
(38) hostname 显示主机名
(39) uname 显示系统名
(40) uname -r 显示内核版本号
(41) hostname 显示主机名
(42) lsb_release -a 显示系统版本
(43) uptime 显示系统时间
(44) free 查看内存空闲空间
(45) history 显示之前使用过的命令
history 5 显示最近使用过的最后5个命令
history | more 分页显示最开始使用过的命令 按字母 q 退出
!5 执行之前是第五个使用过的命令
!ls 执行最后一次以“ls”开头的命令
(46)who am i 显示自己在系统中的用户名,登录终端,登录时间
Logname 显示自己在系统中的用户名
who -m 和who am i 作用相同
who -q 显示用户的登录账号和登录用户的数量
实际用户和有效用户问题:
Who am i 表示实际用户 实际用户:最开始登录的用户
Whoami 表示有效用户 有效用户:当前用户,可能已经不是最开始登录的用户了,而是已经切换的当前的用户
(47)env 查看目前使用的是哪种shell,可以显示当前操作系统的环境变量
(48)shell有很多,常用的就几种:
shell名称 开发者 命令名称
Bourne S.R.Bourne /bin/sh
C Bill Joy /bin/csh
Kom David /bin/ksh
(49)chsh -s 修改shell,输入新的shell 例如 chsh -s /bin/csh 将shell改为/bin/csh
改变shell以后需要注销后才能生效
ls /bin/*sh 或 ls -l /bin/*sh 显示各种shell
(50)命令补全功能 若命令以是 m 开头的 输入 m 再按两次 tab 键输入 y 即可
(51)Gcc
一. 常用编译命令选项
假设源程序文件名为test.c。
1. 无选项编译链接
用法:#gcc test.c
作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。
2. 选项 -o
用法:#gcc test.c -o test
作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。
3. 选项 -E
用法:#gcc -E test.c -o test.i
作用:将test.c预处理输出test.i文件。
4. 选项 -S
用法:#gcc -S test.i
作用:将预处理输出文件test.i汇编成test.s文件。
5. 选项 -c
用法:#gcc -c test.s
作用:将汇编输出文件test.s编译输出test.o文件。
6. 无选项链接
用法:#gcc test.o -o test
作用:将编译输出文件test.o链接成最终可执行文件test。
7. 选项-O
用法:#gcc -O1 test.c -o test
作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。
二. 多源文件的编译方法
如果有多个源文件,基本上有两种编译方法:
[假设有两个源文件为test.c和testfun.c]
1. 多个文件一起编译
用法:#gcc testfun.c test.c -o test
作用:将testfun.c和test.c分别编译后链接成test可执行文件。
2. 分别编译各个源文件,之后对编译后输出的目标文件链接。
用法:
#gcc -c testfun.c //将testfun.c编译成testfun.o
#gcc -c test.c //将test.c编译成test.o
#gcc -o testfun.o test.o -o test //将testfun.o和test.o链接成test
(52)g++
(53)sudo dpkg-reconfigure gdm
Sudo dpkg-reconfigure lightdm
切换图形界面,重启后生效
<54>rpm -qa: 查看rpm所有安装包命令
Rpm -q mysql: 查看有没有安装mysql
<55>rpm -i rpm安装包的全路径名称(i=install):安装rpm包,安装过程无提示
rpm -ivh rpm安装包的全路径名称:安装rpm包,安装过程有提示
i=install 安装
V=verbose 提示
h=hash 进度条
rpm -q samba:查看是否安装了samba
rpm -q samba*: 查看是否安装了与samba相关的软件
rpm -e samba: 卸载
rpm -e --nodeps samba: 强制卸载samba
<56> ps :查看当前进程
<57> ldd a.out
<58>
若使用su - root命令无法切换到root用户时提示su: Authentication failure
该错误,是因为没有激活root用户,需要激活root用户,方可切换到root
激活方法:
先解除root锁定,为root用户设置密码
打开终端输入:sudo passwd
Password: <--- 输入你当前用户的密码
Enter new UNIX password: <--- 新的Root用户密码
Retype new UNIX password: <--- 重复新的Root用户密码
passwd:已成功更新密码
如果要再次禁用 root 帐号,那么可以执行 sudo passwd -l root即可
<58>diff a.txt b.txt比较两个文件有什么不同
<59>
Who am i 表示实际用户 实际用户:最开始登录的用户
Whoami 表示有效用户 有效用户:当前用户,可能已经不是最开始登录的用户了,而是已经切换的当前的用户
<60>
Wc : 统计数量
Wc -l 统计有多少行
shenjianhua@ubuntu:~$ wc -l HelloWorld.java
10 HelloWorld.java
Wc -w 统计有多少个单词
shenjianhua@ubuntu:~$ wc -w HelloWorld.java
14 HelloWorld.java
Wc -c 统计有多少个字符
shenjianhua@ubuntu:~$ wc -c HelloWorld.java
112 HelloWorld.java
shenjianhua@ubuntu:~$
<61>ps
uptime
Top q或ctrl+c 终止
Nmon
<62>压缩与解压
1 zip 和 unzip :
2 : bzip2 和 bunzip2 :
3 gzip 和 gunzip :
4 tar cvf 和 tar xvf :
5 compress和uncompress
压缩文件 : compress 1.txt -----------> 1.txt.z
解压文件 : uncompress 1.txt.z ------------->1.txt
总结: zip 和 tar vxf 可以命名压缩文件名,zip和tar vxf压缩文件后原文件依然存在,
解压文件和原文件共存。 bzip2 , gzip 和 compress压缩文件后原文件不会继续存在,只有压缩文存在。
待更新..........................................................................................................