实用linux命令实例

本文详细介绍了Linux系统中常用的命令操作,包括软件安装、权限管理、版本切换等实用技巧,适用于初学者及进阶用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实用的Linux命令实例
1、安装命令
1.1 apt-get安装
#修改源列表
sudo vim /etc/apt/source.list
#列表中添加源的地址
deb http://**** multiverse
#获得最近的软件包的列表;列表中包含一些包的信息,
#比如这个包是否更新过,将资料夹内的资料和使用者端电脑内的RPM资料库对比,如此一来就知道哪些RPM已经安装或者未安装,或者可以升级
sudo apt-get update
#下载完成以后进行安装,可以使用upgrade或者dist-upgrade
#upgrade只是简单的更新包,不管其依赖的包
#dist-upgrade可以根据依赖关系的变化,添加包或者删除包
sudo apt-get upgrade
或者
sudo apt-get dist-upgrade
#进行安装
sudo apt-get install ****
#一般软件安装后不需要进行环境变量的配置,有的则需要进行环境变量的配置


1.2 手动安装
#以安装jdk为例
#首先从官网上下载安装文件(jdk-6u33-linux-x64.bin),并复制文件到/usr/lib/java下
#修改可执行权限
sudo chmod u+x /usr/lib/java/jdk-6u33-linux-x64.bin
#进入该目录
cd /usr/lib/java
#执行命令
./jdk-6u33-linux-x64.bin
#进行环境变量的配置
#对环境变量的文件进行修改
sudo gedit(vi或者vim均可以) /etc/environment
#进行修改
PATH="/usr /lib/java/jdk1.6.0_33/bin"
CLASSPATH=.:$JAVA_HOME\lib\tools.jar:$JAVA_HOME\lib\dt.jar
JAVA_HOME="/usr/lib/java/jdk1.6.0_33"
#配置默认的,使用户默认的选择这个jdk
sudo update-alternatives –install /usr/bin/java java /usr/lib/java/jdk1.6.0_33/bin/java 300
sudo update-alternatives–install  /usr/bin/javac javac/usr/lib/java/jdk1.6.0_33/bin/javac 300
sudo update-alternatives --config java
#查看是否配置成功
java --version

#最后配置classpath,修改所有用户的环境变量
sudo gedit(vi&vim) /etc/profile
#set java environment
JAVA_HOME=/usr/lib/java/jdk1.6.0_33
export JRE_HOME=/usr/java/jdk1.6.0_33/jre
exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#配置完成


2、权限命令
chmod [options] mode files
#-R:可以递归遍历子目录,把修改到目录下的所有文件和子目录
#who:u(用户);g(组);o(其他);a(所有目录)
#opcode:+(增加权限);-(删减权限);=(重新分配权限);
#permission:r(读);w(写);x(执行);s(设置用户的ID号);t(设置粘着位,防止文件或目录被非属主删除);u(用户的当前权限);o(其他用户端的当前权限)

#实例
$ chmod u+x file                      给file的属主增加执行权限
$ chmod 751 file                      给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file      上例的另一种形式()
$ chmod =r file                     为所有用户分配读权限
$ chmod 444 file                   同上例
$ chmod a-wx,a+r   file          同上例
$ chmod -R u+r directory           递归地给directory目录下所有文件和子目录的属主分配读的权限
$ chmod 4755                            设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。


3、版本切换
#如果你的电脑中装入了好几个如gcc的版本,有时候需要使用比较旧的版本时,就不必需要使用删除和安装的命令
#你只要使用update-alternatives就可以
#例如你的电脑上安装了3个gcc的版本,要想使用其中的一个,就把其设置成默认的即可

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50(后面的50,40是需要手动进行输入的,相当于是优先级)
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 40
#查看配置
sudo update-alternatives --config gcc
#可以看到
#有 3 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。
#选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/bin/gcc-4.4 50 自动模式
1 /usr/bin/gcc-4.4 50 手动模式
2 /usr/bin/gcc-4.5 40 手动模式
3 /usr/bin/gcc-4.6 30 手动模式
#要维持当前值[*]请按回车键,或者键入选择的编号:
#若要删除某个gcc版本的话
sudo update-alternatives --remove gcc /usr/bin/gcc-4.5


4、挂载移动/拆卸U盘
#建立挂载点(mount point)
mkdir -p /mnt/usbCB
#通过lsblk命令查看哪个是要挂载的USB
#lsblk:除了RAM外,以标准的树状输出格式,整齐地显示块设备
lsblk -l
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda    8:0    0 232.9G  0 disk
sda1   8:1    0  46.6G  0 part /
sda2   8:2    0     1K  0 part
sda5   8:5    0   190M  0 part /boot
sda6   8:6    0   3.7G  0 part [SWAP]
sda7   8:7    0  93.1G  0 part /data
sda8   8:8    0  89.2G  0 part /personal
sdb    8:16   1  14.5G  0 disk
sdb4   8:20   1  14.5G  0 part
sr0   11:0    1  1024M  0 rom
#进行挂载
mount /dev/sdb4 /mnt/usbCB
#进行查看
lsblk -l
#拆卸
umouunt /dev/sdb4


5、生成ISO文件并复制到U盘中
#需要安装对应的工具Remastersys
#这里用到(1)中的如何安装软件
sudo vi /etc/apt/source.list
#添加 http://www.remastersys.com/ubuntu oneiric main
sudo apt-get update
sudo apt-get install remastersys
#如果你重复多次可能会出现以下错误:
#无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用)
#解决:解决办法是杀死此进程
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

#使用该应用
#to make a distributable iso named custom.iso but only if the cdfs is already present
sudo remastersys dist iso custom.iso
#检查大小大概在700MB正常,然后会通过UltraISO进行制作U盘启动盘
#具体见TOOLs中的文档


6、压缩解压文件
#使用tar命令
#tar [主选项+辅选项]文件或者目录
#压缩文件 仅仅打包,不压缩
sudo tar -cvf /tmp/etc.tar /etc 
#打包以后以gzip压缩,-z是自己取的名字
sudo tar -zcvf /tmp/etc.tar.gz /etc
#打包以后以bzip2压缩,-j是自己取的名字
sudo tar -jcvf /tmp/etc.tar.bz2 /ect
#以上一般会报一个警告

#查看压缩包里面有哪些文件
sudo tar -ztvf /tmp/etc.tar.gz

#解压,将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下 
#首先进入该目录下
cd /usr/local/src
#进行解压,
sudo tar -zxvf /tmp/etc.tar.gz 

#将压缩包的一个文件解压出来
#先用上面的命令查看有哪些文件
#进行解压,将etc/passwd解压出来
sudo tar -zxvf /tmp/etc.tar.gz etc/passwd 

#将 /etc/ 内的所有文件备份下来,并且保存其权限(-p很重要)
sudo tar -zxvpf /tmp/etc.tar.gz /etc 


7、分配建立新的用户
#添加用户
sudo adduser xxx
#然后根据提示一步步的设置密码和其他的描述参数
#配置完成以后进行配置root权限
sudo vi /etc/susoders
#进入编辑框进行编辑
root ALL=(ALL:ALL) ALL
#在上面这行下面插入如下:
xxx ALL=(ALL:ALL) ALL
android ALL=(ALL:ALL)ALL
#编辑保存退出wq!

#配置sanmba文件共享服务器
sudo vi /etc/samba/smb.conf
:10000切到最后面
#主权限的用户
[android]
comment = android samba share
path = /home/android
writable = yes
browseable = yes
browsable = yes
guest ok = yes
create mask = 0777

#在android底下创建新的用户组,添加如下配置代码
[xxx]
comment = android samba share
path = /home/xxx
writable = yes
browseable = yes
browsable = yes
guest ok = yes
create mask = 0777
#编辑保存并退出

#配置Samba用户密码
sudo smbpasswd -a 账户名
#配置好IP地址和服务器地址和网关即可


8、git命令
#git是用来管理文件的程序
#进行初始化,将已经有一个远程的Git版本库,只需要在本地克隆一份
git clone git://codeaurora.org/quic/chrome4sdp/chromium/tools/depot_tools.git 本地目录
#从其他的版本库(既可以是本地也可以是远程)将代码更新到本地,类似SVN中的update
git pull 其他版本库 本地
#将当前更改或者新增的文件加入到Git的索引中,是提交之前要做的一步,类似SVN中的add
git add 本地
#提交当前工作空间中和索引中删除的文件,类似SVN中的commit命令
git commit
#将本地commit的代码更新到远程版本库中
git push
#还原一个版本的修改,必须提供一个具体的Git版本号,是生成的一个哈希值
git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20
#在不同分支之间进行切换且还原代码(从版本库更新出上一个已经提交的版本)类似SVN中的checkour
git checkout 
#将当前的工作目录完全回到指定的版本号(即SVN中回退到版本号),在该版本号之后提交的代码都删除了
git reset


9、查找文件命令
#grep是一种强大的文本搜索工具
grep [-acinvr] [--color=auto] ‘要搜索的字符串' 文件名
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
-r : 搜索该文件以及子文件中的内容
--color=auto :可以将找到的关键词部分加上颜色的显示

#在当前目录以及其子目录下查找文本并显示出行号
grep -rn ‘XXX’ .
#在特定的目录下查找文本并显示出行号且加上颜色显示
grep -n --color=auto ‘xxx’ xxx.txt


10、查看系统信息和内存的使用情况
#查看系统信息
top
#进入全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏

#查看内存使用情况
free 
#整个内存使用情况
Mem:       8158728    7614332     544396          0    3660740    1164512
-/+ buffers/cache:    2789080    5369648
#交换分区使用情况,如果交换频繁证明物理内存不足
Swap:     12448508      68952   12379556

#查看文件系统的硬盘使用信息
df -h
/dev/sda1       909G  725G  138G  85% /
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           797M   12M  786M   2% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G  144K  3.9G   1% /run/shm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值